【发布时间】:2023-03-15 11:49:01
【问题描述】:
我有一个简单的纸牌游戏,用户可以在屏幕上拖放纸牌。在 Droid 和 EVO 等一些 2.2 android 手机上,抽卡非常缓慢。这很奇怪,因为它发生在一些速度更快的手机上。然而,并不是我在 Droid 和 Droid X 上测试的所有手机,程序运行良好,在 G1 等速度较慢的手机上也运行良好。在摩托罗拉发布 Droid 2.2 更新后,我开始收到有关此问题的报告。
这是我想出的解决方法,但它确实降低了我的图形质量。渐变看起来很可怕。
我改变了这个
Bitmap.createBitmap(newBmp.getWidth(), newBmp.getHeight(), Bitmap.Config.ARGB_8888);
到这里
Bitmap.createBitmap(newBmp.getWidth(), newBmp.getHeight(), Bitmap.Config.ARGB_4444);
问题消失了,但外观受到影响。我需要保留 alpha 通道,所以我不能使用 RGB_565。有什么方法可以保持我的高质量图像并且不会让它运行得这么慢吗?
【问题讨论】:
-
我不了解Android开发,但会不会是某些设备使用了不同的原生位图格式?我会尝试使用设备原生的格式,并希望这是最快的。
-
我正在使用 png 文件。奇怪的是,它在 2.1 的 Droid 上运行良好,但在一些 2.2 的 Droid 手机上运行缓慢。我认为这可能是一个错误,但我仍然需要解决这个问题。
-
这些卡有多大?另外,您从哪里获得位图?您是否将它们用作屏幕外缓冲区?位图的分辨率是多少?
-
原始图像文件存储在哪里?在 Raw 或 image 文件夹中?它们是如何被导入到项目中的?我使用 image2 = BitmapFactory.decodeResource(getResources(), R.drawable.example);
-
使用的默认位图通道因版本和硬件制造商而异。尝试将其设置为某种东西并在快速和慢速设备上进行测试。
标签: android animation bitmap android-canvas