为什么边缘消失速度很慢?

2023-12-05

如中所述这个答案,边缘淡入ScrollView可能会很慢。我想知道,为什么?

“使用褪色边缘可能会导致明显的性能下降 并且仅应在应用程序的视觉需要时使用 设计。要请求 API 级别 14 及以上的淡入淡出边缘,请使用android:requiresFadingEdge属性代替”

http://developer.android.com/reference/android/R.attr.html#fadingEdge

我的兴趣源于两件事:

  • 想要使用淡入淡出的边缘向用户提供视觉提示
  • 注意到使用褪色边缘时,PowerVR SGX 544 Galaxy S4 上的/极端/性能损失。 (从 20-30 fps 下降到 0.2 fps),而在其他 GPU(例如 Adreno 320 HTC One)上没有看到性能损失

我认为褪色边缘可能是在 SurfaceFlinger 中作为单独的层实现的,并且它们通过硬件合成触发了 GLES 合成,但事实并非如此,根据这条评论


Update: https://developers.google.com/events/io/sessions/325418001Romain 的大约 30 分钟提到了如何实现边缘淡出以及为什么该实现会使边缘变慢。

我开始相信,在当今的背景下,文档中的注释具有误导性,并且我偶然发现了一种不相关的病态不良情况。我发现通常边缘褪色并不慢。链接的帖子告诉我们 Romain 对该功能的看法,尽管该注释直到 2011 年 9 月才添加。

不同的系统使用不同的绘图路径、不同的 GPU 驱动程序路径和不同的 GPU 硬件路径来进行淡入淡出边缘的实际渲染。我认为由于我试图展示的场景的复杂性,我超出了我的特定手机的限制。

这次提交介绍了该注释。它是在 Android 4.0 之前制作的,而 3.2.x 系列仍在发布。我记得 Xoom 是一个有点慢的设备,我想一些褪色的边缘(默认情况下很容易打开)可能会拖慢它的速度。这似乎是进行更改和引入注释的一个很好的理由。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么边缘消失速度很慢? 的相关文章

  • 如何在 Android 中保存相机的临时照片?

    在尝试从相机拍照并将其保存到应用程序的缓存文件夹中时 我没有得到任何可见的结果 应用程序不会崩溃 但在 LogCat 上 当我尝试将 ImageView src 字段设置为刚刚获取的文件的 URI 时 我收到此消息 09 17 14 03
  • Android Studio 3.0 Canary 9 - 无法解析包

    我在 Android Studio 3 0 Canary 9 中遇到几个错误 这些错误是 无法解析 android 软件包 下面列出了一些错误 我刚刚安装了 SDK 的所有额外软件包 但仍然收到 gradle 构建错误 Error 82 1
  • React Native 从 JavaScript 代码内部访问 strings.xml

    有没有办法访问当前值android app src main res values strings xml从 JavaScript 代码内部 我想为每个构建放置不同的端点 URL 但我什至无法检测到反应本机代码内的构建类型 而不必求助于 D
  • android中向sqlite中插入大量数据

    目前 我必须一次向我的 Android 中插入超过 100 亿条数据 然而 内存不足的问题会使程序崩溃 sqlite 插入测试非常简单 只需使用 for 循环生成 sql 插入命令并通过 开始 和 提交 进行包装 private Array
  • Android 30+ 中的视频捕获意图 - 只有所有者才能与待处理项目交互

    我正在尝试在我的应用程序上捕获视频 它可以在 android API 30 以下运行 但不能在 30 以上运行 似乎在 sdk 30 之后 android 不允许完全读取外部存储 作用域存储 我目前遇到这个错误 java lang Ille
  • 如何以编程方式检查 AndroidManifest.xml 中是否声明了服务?

    我正在编写一个库 该库提供了一项服务 其他开发人员可以通过将其包含在他们的项目中来使用该服务 因此 我无法控制 AndroidManifest xml 我在文档中解释了要做什么 但一个常见的问题是人们忽略了将适当的 标记添加到其清单中 或者
  • 是否可以将数组或对象添加到 Android 上的 SharedPreferences

    我有一个ArrayList具有名称和图标指针的对象 我想将其保存在SharedPreferences 我能怎么做 注意 我不想使用数据库 无论 API 级别如何 请检查SharedPreferences 中的字符串数组和对象数组 http
  • java.lang.NoClassDefFoundError:org.apache.batik.dom.svg.SVGDOMImplementation

    我在链接到我的 Android LibGDX 项目的 Apache Batik 库时遇到了奇怪的问题 但让我们从头开始 在 IntelliJ Idea 中我有一个项目 其中包含三个模块 Main Android 和 Desktop 我强调的
  • Android 模拟器插件无法初始化后端 EGL 显示

    我在 Cloudbees 上设置了 Jenkins 作业 并且可以在那里成功签出并编译我的 Android 项目 现在我想在 android 模拟器中运行一些 JUnit 测试并添加 Android 模拟器插件 我将 显示模拟器窗口 选项设
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • 如何使用 Cordova 获取当前安装的应用程序的版本?

    我已经找到了应用程序可用性插件 https github com ohh2ahh AppAvailability它主要检查用户是否在其设备上安装了某个应用程序 是否有可能获得应用程序的当前版本 开发者名称 重要 以及所有可能的信息 一般来说
  • 是否有 ADB 命令来检查媒体是否正在播放

    我想使用 ADB 命令检查根植于终端的外部设备中是否正在播放音频 视频 我无法找到任何 ADB 命令 如果有 我尝试过 adb shell dumpsys media player 我想要一个命令来指定视频是否正在运行 您可以使用以下命令查
  • 控制Android的前置LED灯

    我试图在用户按下某个按钮时在前面的 LED 上实现 1 秒红色闪烁 但我很难找到有关如何访问和使用前置 LED 的文档 教程甚至代码示例 我的意思是位于 自拍 相机和触摸屏附近的 LED 我已经看到了使用手电筒和相机类 已弃用 的示例 但我
  • 在gradle插件中获取应用程序变体的包名称

    我正在构建一个 gradle 插件 为每个应用程序变体添加一个新任务 此新任务需要应用程序变体的包名称 这是我当前的代码 它停止使用最新版本的 android gradle 插件 private String getPackageName
  • 如何使用InputConnectionWrapper?

    我有一个EditText 现在我想获取用户对此所做的所有更改EditText并在手动将它们插入之前使用它们EditText 我不希望用户直接更改中的文本EditText 这只能由我的代码完成 例如通过使用replace or setText
  • 字符串数组文本格式化

    我有这个字符串 String text Address 1 Street nr 45 Address 2 Street nr 67 Address 3 Street nr 56 n Phone number 000000000 稍后将被使用
  • 实现滚动选择 ListView 中的项目

    我想使用 ListView 您可以在其中滚动列表来选择一个项目 它应该像一个 Seekbar 但拇指应该是固定的 并且您必须使用该栏来调整它 我面临的一个问题是 我不知道这种小部件是如何调用的 这使得我很难搜索 所以我制作了下面这张图片 以
  • android sdk 的位置尚未在 Windows 操作系统的首选项中设置

    在 Eclipse 上 我转到 windows gt Android SDK 和 AVD Manager 然后弹出此消息 Android sdk 的位置尚未在首选项中设置 进入首选项 在侧边栏找到 Android 然后会出现一个 SDK 位
  • Crashlytics 出现 Android Studio 构建错误

    我正在尝试将 CrashLytics 与 Android Studio 和 gradle 一起使用 但出现一个令人困惑的错误 java lang NoSuchMethodError 我的 build gradle 是 buildscript

随机推荐

  • 遍历组并为每个 R 创建绘图

    我正在尝试映射 循环鸢尾花数据集中的物种列 为每个物种创建一个图 下面的脚本返回三个图表 但所有图表都绘制了相同的数据 并且不按物种划分 地图函数似乎忽略了species list 只查看整个数据帧 一直在尝试不同的方法 但无法使任何工作发
  • Swift 3 和 Swift 4 中的 WebService API 方法?

    我是新来的SwiftiOS 和我想在单独的类中创建一个单独的方法 例如NSObject 的 Web 服务 以便我可以在任何 ViewController 中使用它并解析任何类型的JSON响应使用NSURLSession and Alamof
  • 用于自动化 ncurses 类型 telnet 会话的跨平台解决方案

    背景 我在网络和电信领域的部分工作涉及当传统硬件无法在其他接口中提供简单的解决方案时自动执行 telnet 会话 许多旧设备只能通过工艺端口 RS 232 串行端口 SNMP 或 Telnet 进行访问 有时 telnet 是访问特定信息的
  • 将数组从 JSON 文件导入到 Typescript 文件中

    我有一个 JSON 文件 其中包含一个数组对象 如下所示 VergiNo XXXXXXX VergiNo YYYYYY VergiNo ZZZZZZ 我将此 JSON 文件导入到我的 Typescript 文件中 import as fir
  • PHP 会话变量与局部变量互换?

    我遇到了一个关于 php ini 中的会话变量和局部变量的非常奇怪的问题 我试图弄清楚我是否不了解 php 中的会话 或者这是否是我的主机使用的 php 版本的问题 这是一个非常简单的代码来演示这个奇怪的问题 session start v
  • C 和 C++ 中 += 的结果是什么?

    我有以下代码 include
  • 如何区分bool和int

    我有一个清单 它包含不同类型的值 例如 1 2 3 a False 0 5 0 3 任务是将所有零移动到列表的末尾 它应该看起来像这样 1 2 3 a False 5 3 0 0 如何区分布尔值False from 0 我正在尝试将它们与以
  • 1 viewmodel多条路线:生命周期

    我想要有几个不同的路线指向相同的视图 视图模型 并且我已经成功地实现了这一点 route formulation moduleId formulation title Formulation nav 6 route fabrication
  • 为什么 Typescript 允许子类型化?

    根据文档 TypeScript 中的类型兼容性基于结构子类型 所以这是可能的 type Person name string const developer name Joe language Typescript this is ok b
  • 一表两列MYSQL查询挑战

    考虑一个名为 comments 的 MYSQL 表 其中包含 2 列 主机名 和 用户名 如何返回按主机名排序的列表 其中第二列是与每个主机名关联的用户名列表 我可以看到如何使用 py 这样的脚本语言来做到这一点 但是它可以作为标准 SQL
  • 当对页面使用直写式缓存策略时

    我正在阅读 MDS 攻击论文RIDL 流氓飞行数据加载 将页面设置为回写 直写 组合写入或不可缓存 并通过不同的实验确定行填充缓冲区是微架构泄漏的原因 切线 我知道内存可能是不可缓存的 但我假设可缓存的数据始终缓存在回写式缓存中 即我假设
  • 如何在画布上制作可拖动的矩形?

    我有这三个函数来触发事件 我已经有了我的需求的静态版本 但我需要它的动态版本 bool captured false double x shape x canvas y shape y canvas UIElement source nul
  • 如何从 QMdiSubWindow 中删除 Qt 图标

    尝试从 QMdiSubWindow 中删除 Qt 图标 但收效甚微 下图显示了左上角的图标 这是一些代码 看起来应该将图标设置为空 但事实并非如此 QMdiSubWindow sub new QMdiSubWindow sub gt set
  • Javascript 全局变量的生命周期

    我是Javascript初学者 当我学习 Javascript 全局变量生命周期时 它说 全局变量的生命周期从声明时开始 并且 当页面关闭时结束 我读到Javascript会将全局变量存储到window对象中 而它什么时候会被摧毁呢 关闭网
  • 突出显示 ListView 选定的行

    我有一张专辑列表 几百张 当我触摸所选专辑时 我想为用户提供播放整个专辑或移至其曲目 ListView 的选择 没问题 但是 在触摸 albumListView 中的专辑后 我希望该行保持突出显示 以便用户知道他们单击了哪个项目 然后可以移
  • 如何避免饼图中标签和 autopct 重叠

    我的Python代码是 values 234 64 54 10 0 1 0 9 2 1 7 7 months Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec colors yellowgree
  • 使用 keras Convolutional1D Layer 时出现负维度错误

    我正在尝试使用 Keras 创建一个 char cnn 那种类型的 cnn 需要你使用Convolutional1D层 但是我尝试将它们添加到模型中的所有方法 都会在创建阶段给我带来错误 这是我的代码 def char cnn n voca
  • 有没有办法使用 jquery 或 javascript 检测用户是否按下了刷新按钮?

    我想知道 jquery 或 javascript 是否可以检测用户是否按下了浏览器的刷新按钮 如果可以的话我可以看一个例子吗 无法检测用户在页面刷新之前是否按下了刷新 但您可以使用 cookie 来确定页面在第二次加载后是否刷新 例如 每个
  • 在 Objective-C 中如何确定我的方法的“调用者”? [复制]

    这个问题在这里已经有答案了 所以我有一个相当复杂的应用程序 我可能天真地同意 调试 在进入某个方法后 我想打印出尽可能多的信息 包括谁调用了该方法 从哪个类 方法等调用了该方法 任何建议将非常感激 只需添加您的方法 NSLog Show s
  • 为什么边缘消失速度很慢?

    如中所述这个答案 边缘淡入ScrollView可能会很慢 我想知道 为什么 使用褪色边缘可能会导致明显的性能下降 并且仅应在应用程序的视觉需要时使用 设计 要请求 API 级别 14 及以上的淡入淡出边缘 请使用android requir