getHolder().setFormat(PixelFormat.RGBA_888);
Options options = new BitmapFactory.Options();
options.inDither=true;
options.inScaled = true;
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
options.inPurgeable=true;
(使用上述选项创建的Bitmat)
使用上面的代码时,我得到以下结果………
>我的平板电脑设备上没有色带
>测试手机上显着的色带(三星Galaxy Ace)
getHolder().setFormat(PixelFormat.RGBA_888);
Options options = new BitmapFactory.Options();
options.inDither=true;
options.inScaled = true;
options.inPreferredConfig = Bitmap.Config.ARGB_565;
options.inPurgeable=true;
>我的平板电脑上没有色带
> Galaxy Ace上的明显色带
>与上述结果相同
getHolder().setFormat(PixelFormat.RGB_565);
Options options = new BitmapFactory.Options();
options.inDither=true;
options.inScaled = true;
options.inPreferredConfig = Bitmap.Config.RGB_565;
options.inPurgeable=true;
>我平板电脑上的彩色条纹
> SG Ace上的彩色条纹
getHolder().setFormat(PixelFormat.RGB_565);
Options options = new BitmapFactory.Options();
options.inDither=true;
options.inScaled = true;
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
options.inPurgeable=true;
>我平板电脑上的彩色条纹
> SG Ace上的彩色条纹
因此,总之,只有PixelFormat.xxxx部分似乎有所不同.我的理解是这是设置持有者颜色格式.这将影响绘制的所有内容. (即,一切都将采取这种格式).
有人可以解释下面这行的目的是什么吗?
options.inPreferredConfig = Bitmap.Config.xxxxxxx
这似乎对已绘制的位图没有任何影响.
性能是至关重要的,所以我可能不得不更改我原来的png文件,因此它们没有渐变,(即,将它们绘制为RGB565 – 这是可取的还是我应该坚持使用8888?)还是应该抖动排序? (因为正如你所看到的,我启用它但它似乎没有帮助).
任何想法为什么乐队总是在Ace?这可能是硬件限制吗?
谢谢,这一切都让人很困惑.
(PS我已经阅读了官方指南,在向SO发布问题以及查看其他相关的SO问题之前我总是看一下,但官方指南(通常是这种情况),并不清楚这一点我和我无法通过其他问题找到答案,所以如果已经在这里就道歉了.
在Android设备上加载JPEG图片时遇到色带问题。尝试使用不同Bitmap.Config(ARGB_8888, RGB_565)设置发现,色带现象在不同设备上表现不一致。启用dithering并未解决问题。寻求关于inPreferredConfig选项影响及如何解决设备间显示差异的解答,考虑性能因素,是否应转换PNG文件或调整颜色格式。"
103432602,7325949,智能合约源代码解析,"['区块链', 'Hyperledger Fabric', '智能合约开发', 'Go语言']
2811

被折叠的 条评论
为什么被折叠?



