开发者社区> 问答> 正文

android oom怎么办

云计算小粉 2018-05-10 20:01:39 373

android oom怎么办

Android开发
分享到
取消 提交回答
全部回答(3)
  • 游客egl327dv6jemm
    2019-07-17 22:12:05
    mat 软件 定位内存泄漏原因
    0 0
  • itxiaowang
    2019-07-17 22:12:05

    OOM全称Out of Memory. 常见于带有运行时环境的编程语言(Kotlin, Java,Python,Ruby等有虚拟机容器的语言)中,用于提示开发者内存超出最大限制。

    作为应用开发人员,解决OOM主要是对自己的应用内存使用情况,特别是出现内存泄漏等场景时进行内存占用情况分析, 借助分析的数据有针对性的进行内存优化。
    针对Android SDK层(Java层)的内存,可以使用Android Studio 中的MAT工具进行分析,一般建议的关注点是: Bitmap使用情况,大数据集合的缓存使用;
    针对 Android NDK层的内存(这块实际不受OOM的控制),一般需要使用具有root权限的工具,借用libc中的debug malloc工具,分析C层中的内存分配与使用情况。
    常见的内存优化方案有: 使用WeakReference替代强引用,特别是图片类的资源;用资源(线程、下载、图片)池替代随意资源分配。

    针对Android系统开发人员,将面对的是系统OOM与Low Memory Killer的相关问题,这是就涉及到调节系统LMK的参数,APP虚拟机运行参数,定时清理后台常驻进程等系统方案,一般是目前市面上的手机安全管家做的事情。

    0 0
  • 石建
    2019-07-17 22:12:05
    studio有专门的调优功能,本地或ndk远程连接都可以
    0 0
添加回答

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题