微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 处理大型位图(平铺一个小位图来创建壁纸)

我有内存问题,并认为它可能与创建大型位图有关.

手头的任务是获得一个相当小的平铺图像并创建一个更大的平铺图像并将其设置为手机壁纸.我这样做的方式是:

1) Create a view that is 2 * screen width, 1 * screen height

2) Set the view background to a BitmapDrawable with the tile mode set to repeat

3) Create a bitmap with the views dimensions

4) draw the view to the bitmap by: view.draw(new Canvas(bitmap))

5) set wallpper: getApplicationContext().setWallpaper(bitmap)

这在我的手机(HTC Magic)和我试过的其他手机上运行良好.但我收到有关此问题的错误报告.我试图通过加倍所需的维度来重新创建问题,并且当视图被绘制到位图时,问题似乎发生在第4步:

ERROR/dalvikvm-heap(124): Heap Massage needed (7372800-byte external allocation too big)

我不知道如何解决这个问题.请帮忙!
谢谢

解决方法:

我相信你已经想到了,但不过:你有没有

<uses-permission android:name="android.permission.SET_WALLPAPER" />

在您的清单文件中?

你确定没有抛出异常吗?显示Toast可能是一个问题.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐