Android 应用的开发语言为 Java,每个应用最大可使用的堆内存受到 Android 系统的限制
•Android 每一个应用的堆内存大小有限
•通常的情况为 16M-48M
•通过 ActivityManager 的 getMemoryClass()来查询可用堆内存限制
•3.0(HoneyComb)以上的版本可以通过 largeHeap=“true”来申请更多的堆内存
•NexusS(4.2.1):normal 192, largeHeap 512
•如果试图申请的内存大于当前余下的堆内存就会引发 OutOfMemoryError()
•应用程序由于各方面的限制,需要注意减少内存占用,避免出现内存泄漏。

mActivityManager=(ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);mMaxMemory=mActivityManager.getMemoryClass();

如何合理使用内存?

1、注意资源回收,像数据库,输入输出流,定位操作这样的对象,要在使用完及时关闭流。
2、少使用静态变量,因为系统将静态变量的优先级设定的很高,会最后回收。所以可能因为静态变量导致该回收的没有回收。而回收了不该回收的内存。
3、注意大图片的缩放,如果载入的图片很大,要先经过自己程序的处理,降低分辨率等。最好设置多种分辨率格式的图片,以减少内存消耗。
4、 动态注册监听, 把一些只有显示的时候才使用到的监听放进程序内部, 而不是放在 manifesat中去。
5、减少使用动画,或者适当减少动画的帧数。
6、注意自己的程序逻辑,在该关闭自己程序的控件的时候,主动关闭,不要交给系统去决定。(这个要自己把握好, 也不是说都自己搞定, 只有那些自己确定需要关闭的对象, 自己将其关闭。 )

更多相关文章

  1. 使用Zipalign工具优化Android(安卓)APK应用记录
  2. 重学Android(安卓)之路之一 APK签名
  3. android 程序安装路径选择
  4. Android(安卓)数字证书详解
  5. AIDL入门
  6. smem在Android中的使用
  7. [原]Android应用程序绑定服务(bindService)的过程源代码分析
  8. [Android(安卓)UI界面] 转:学习Android界面设计的超级利器Hierarc
  9. Android(安卓)Support兼容包详解

随机推荐

  1. Android(安卓)Audio代码分析13 - AudioTr
  2. android 发布时去除Log
  3. AVD那些事儿
  4. android关于installLocation
  5. Android常见问题及讨论(10-15)
  6. 【Android 开发】:UI控件之拖动条控件 See
  7. Android的常用传感器
  8. Android(安卓)DEX安全攻防战
  9. 可下拉的PinnedHeaderExpandableListView
  10. 打包Android程序—Android跟我学2.2