Die*_*ssa 7 performance android image relativelayout imageview
我有一个Activity在ImageView中有背景图像的地方,在图像顶部有九个透明按钮.
http://i.stack.imgur.com/GGQqd.png
当我点击任何按钮时,我会RelativeLayout在背景的顶部显示.
http://i.stack.imgur.com/JvKQK.jpg
问题是:当我在布局中使用大分辨率图像作为背景时,性能非常差.
我使用的是2048 x 1536的PNG图像,它的重量约为500k.当我使用像1024 x 768这样的较小图像时,应用程序工作正常,但它看起来很糟糕.
是否有限制或方法使用大图像而不会失去性能?
Bar*_*end 10
那个位图很大.你提到的500k是压缩大小.使用它们时,图像在内存中未压缩.你实际上看的是2048×1536×4 = 12582912 =超过12MB的内存使用量.
如果您使用的是具有该屏幕分辨率的Nexus 9设备,那么您可以合理地假设它还具有内存,GPU和总线带宽来处理该大小的图像.但是,如果你使用的是分辨率较低的设备(大多数设备,请记住即使是全高清也只有65%),那么这个图像显然会浪费内存.您现在可以购买带有240x320屏幕的低端设备,其中全屏位图的大小仅为图像大小的2.5%.
加载时,您将不得不缩放该图像.用于BitmapFactory.Options在加载图像之前设置所需的大小.
此外,您将文本直接放在它上面.文本渲染需要Alpha透明度,这需要对底层图像进行采样.如果您可以将文本放在不透明的背景上并将其置于顶部,那么您也将节省一些GPU负载,但我实际上并不确定能够获得多少性能.这可能不是什么大不了的事.
| 归档时间: |
|
| 查看次数: |
9106 次 |
| 最近记录: |