我在我的android服务中做了一些更改,比如将位图的hashmap声明为成员变量,并动态填充它。
我担心位图可能占用相当大的RAM。
如何确认更改后RAM使用量增加了多少。有没有工具来检查这个?
如果以前有人在这个地区工作过,请帮忙!
答案 0 :(得分:1)
有eclipse android sdk tools to detect the current heap allocation size,但有更简单的方法来了解当前的堆大小:
只需在logcat中搜索“Grow heap”字样。每次应用程序的堆大小增加时 - 此日志将打印到logcat,同时指示当前堆大小。
它看起来像这样:
02-22 11:20:57.040: I/dalvikvm-heap(5313): Grow heap (frag case) to 213.551MB for 3850256-byte allocation
通常,为了避免过多的位图分配情况,并在显示所需的缩放类型上自动分配位图,您应该使用库Volley来处理缓存和远程服务器提取。
Volley疯狂的谷歌,并被谷歌Play应用程序用于处理服务器前的所有请求,并提供智能ImageLoader,为您自动下载,解码正确的样本大小,显示,内存缓存和存储缓存(如果已指定)。