优化Android应用程序

时间:2013-01-25 12:05:13

标签: android optimization

您好,我正在制作聊天应用程序。在该应用程序中,我使用了大量的位图。此应用程序在内存中占用大约55 MB的空间。任何人都可以告诉我如何优化我的应用程序,以便它在内存中占用更少的空间。有些朋友建议我取消绑定Bitmap,但我不知道它。谁能帮我 。提前谢谢。

2 个答案:

答案 0 :(得分:3)

您是否看过“有效显示位图”培训课程? http://developer.android.com/training/displaying-bitmaps/

手动解除绑定对内存使用没有任何帮助,除非你在某处有内存泄漏。您可能希望查看的电话是Bitmap.recycle()

答案 1 :(得分:1)

  

在该应用程序中,我使用了大量的位图

你在同一时间使用了很多位图吗?

在不再需要位图对象时,是否保留对位图对象的引用?如果是的话 - 不要那样做!

您是否将位图解码为实际需要显示它们的高度和宽度? (显示它们的实际imageView大小)如果不是 - 你应该这样做!

如果您将接受我的建议并仍然消耗如此多的本机内存 - 您可以通过调用不再需要的位图对象上的Bitmap.recycle()方法来执行所谓的“解除绑定”。此方法释放像素阵列驻留在与位图关联的本机内存中。

如果没有人持有位图引用,系统会自行释放这个内存,但是调用recycle()方法会导致系统在你告诉它时释放内存。如果你在很短的时间内使用很多位图,这可能很有用,系统通常不会在那段时间内触发内存释放。