我想在 Android 中实现一些非标准的东西。
我已经在WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY
所有东西的顶部创建了透明的系统覆盖()GLSurfaceView
(然后我将其更改为画布),并且我正在尝试在其上绘制一些东西。
问题是当试图将我的透明层与它下面的其他东西混合时,Android 变得非常慢。我知道这个操作会很慢,但是很慢。我在或多或少的功率设备上进行了测试。
几个事实和观察:
- 我的叠加视图是全屏的
- 即使我不绘制任何要覆盖的内容,系统也会变慢
- 我的 Acer Iconia 选项卡 (10") 运行速度比我的 Droid X 慢得多(要混合的像素更多?还是新的渲染管道?)
- 如果我使用带有透明 PNG 的静态
ImageView
元素,那么 Android 可以毫无问题地混合它。为什么?Android 会检查每一帧的混合内容吗? - 在平板电脑上启用硬件加速没有效果
我的问题:是否有可能以某种方式对其进行优化?我将 View 的背景设置为 null 但没有效果。
Android 4.0 会像 3.2 一样慢吗?
当它在主屏幕上混合系统覆盖时,它特别慢。为什么?
请不要告诉我我写错了东西,并将 API 用于指定目的以外的东西,我已经意识到这一点。