在进行android开发时,因为设备上的内存较小,有很多的程序在模拟器上运行没有问题,但是到了设备上就会经常因内存溢出而使程序崩溃.那么遇到这类问题应该如何解决呢?根据我的开发经验,使用一下步骤进行解决.
1.编写一个显示剩余内存的方法:
StringBuffer sbf=new StringBuffer();
private void displayAvailMemory() {
final ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
ActivityManager.MemoryInfo outInfo = new ActivityManager.MemoryInfo();
activityManager.getMemoryInfo(outInfo);
sbf.append("\n================剩余内存:---->").append(outInfo.availMem >> 10).append("k");
Log.i(TAG, sbf.toString());
}
2.选取一个程序不用的按键(如打电话键),或者在界面的超类添加一个显示内存的菜单,然后让这个按键或添加的菜单的事件相应为调用显 示剩余内存的方法。
3.在可疑回产生内存泄漏的地方的操作后点击上面定义的按键(如打电话键),然后在LogCat中观察显示内存的变化。