Android APP内存优化点

    最近对app进行了一次内存优化,如下记录了此次优化的过程。主要使用了Android profile工具,打开app后把所有UI界面都打开一遍,然后back退出app。
    再点击Android Profile上的gc,让系统进行一次内存回收,再生成Heap Dump文件,分析这个 dump 文件,选择 Arrange by package 来分析 ui 部分内存情况,发现虽然所有Activity已经退出,也执行了gc,还是有部分内存未释放。

   如下修改了几点:
   1、Activity启动模式,使用 Intent.FLAG_ACTIVITY_CLEAR_TOP。这样可以避免 Activity 按home退出后重新 start会创建新的实例。
   2、避免使用 enum,从Android Profile 看到使用 enum会占用更多内存,而且不能及时回收。
   3、Adapter 的及时释放,在Activity finish时,及时释放Adapter。
   4、Context 的使用,特别是单例时,Context最好使用 ApplicationContext。
   5、Toast释放,弹出Toast会在一定时间才消失,如果此时退出了Activity,系统进行内存回收就会因为Toast持有Context,而造成Activity无法及时回收。
   6、一些不再需要使用的资源及时释放。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值