gpt4 book ai didi

Android 硬件加速 - 使用还是不使用?

转载 作者:IT王子 更新时间:2023-10-29 00:02:14 27 4
gpt4 key购买 nike

我正在开发一个应用程序,它的功能与 Facebook Android 原生应用程序非常相似:社交网络,用户大部分时间都会花在无尽的 ListView 中,显示大量图像,输入图像画廊等。

让我们在讨论中说,我正在做所有正确的事情和最佳 android 实践以实现平滑滚动(按应有的方式回收 View ,在需要时使用不同的 View 类型,仅将所需大小的缩放位图加载到内存,缓存位图,使用 ViewHolder 设计模式,尽可能不阻塞 UI 线程等等......)

我们还要说,我的应用程序中的所有其他内容都以最佳方式编写并遵循最佳实践(供讨论...... :->)

我的应用在那个阶段运行得还不错,但是当启用硬件加速,如 Android Developers documentation 中所述和 promise 的那样它使我的应用程序更加流畅和快速。

假设它不会像可能发生的那样对 UI 产生任何负面影响,而且我没有执行任何 Unsupported Operations

根据 Google 关于该主题的文档,我认为不使用此功能的唯一原因(除了我上面已经提到的所有其他原因)是它可能导致我的应用程序使用更多 RAM。但是有多少内存?多很多?我知道,当我的应用程序消耗大量 RAM 时,它会在需要释放一些内存时被操作系统销毁。

我的问题基本上是 -

  • 在我的情况下可以使用此功能吗?
  • 使用它还会引发哪些其他问题?

TIA

最佳答案

使用或不使用

仅当您对图像的缩放、旋转和平移进行复杂的自定义计算时才建议使用硬件加速,但不要将其用于绘制直线或曲线(以及其他琐碎的操作)(source)。

如果您计划进行通用转换,并且考虑到您已经考虑过缩放、回收、缓存等,那么再给您的项目增加负担可能没有意义。此外,为支持硬件加速而重新编写代码所付出的任何努力都不会影响 3.0 以下版本的用户,截至 2013 年 5 月 8 日,该版本约占市场的 36%。

内存

关于内存使用量(根据 this article ),通过包含 Android 硬件,应用程序会为每个进程加载 OpenGL 驱动程序,占用大约 2MB 的内存使用量,并将其增加到 8MB。

其他问题

除了 API 版本,我想它也会影响电池生命周期。不幸的是,在线上没有针对不同用例的任何基准测试,以便在此基础上划清界限。一些人认为,在特定情况下,由于有多个 gpu 内核,使用加速可以节省电池生命周期。总的来说,我认为效果不会太显着(否则 Google 会将此作为重点)是安全的。

关于Android 硬件加速 - 使用还是不使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16432565/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com