zoukankan      html  css  js  c++  java
  • 6-内存

    ("▔□▔)~这是一个很敏感的值~最近几年说起安卓机配置,先别管CPU是啥,普通机型的内存没有3G起步都不好意思卖~旗舰机内存不是4G起步的都不好意思宣传,然而,各种app占用的内存也是越来越大~总的来说,当一个对象持有Activity的引用,假如该对象使用后不能被系统回收,便出现了内存泄漏的情况。不那么高大上的内存泄漏也包括Activity启动模式设置的不合理.比如可以通过特殊操作,无线重复开启多次某个界面,多循环几次类似操作,内存就会被占用的越来越多了~

    我们如果只看数据找BUG,测试起来还是很轻松的.最简单的方法:点击菜单键,我们就能看到剩余的内存量,通过配合各种场景模拟,然后看看剩余内存就能取一个大概值了~

    -----测试要严谨的分割线-----

    怎么可以真的如此这般(╯‵□′)╯ノ┻━┻☆冒个烟还凑合~

     

    上面那个不太好的例子,取出值的可依据性较低,毕竟按照安卓app的尿性,不知不觉可能已经有很多app后台自启,并且在干扰你的数据了~

    所以推荐一个取值命令,针对单一程序包进行内存取值,这个数据的可依据性就很高了:

    adb shell dumpsys meminfo package

    我们需要关注的是TOTAL的第一个值,单位是kb.

     

     

     

    然后,就是老样子,模拟各种使用场景进行长时间操作,操作期间取值查看内存使用情况.如果内存长期在一个可控的范围内波动那么可以算是没问题.

    当然也需要跟老版本进行对比,如果某些操作的内存波动范围有明显变化,那么就值得好好探讨一下了~

     

    如果发现某场景数据异常,那么首先要沏茶一壶,再找个舒服的凳子,然后来到程序猿旁边,最后心平气静的问他你在这块代码里都干啥了?

    -----华丽的吐槽线-----

    ((╯‵□′)╯︵┻━┻  鬼知道程序猿们会写出什么BUG)

     

     

  • 相关阅读:
    Nhibernate对应关系参数介绍
    jquery mobile 登陆后页面验证
    jquery mobile radio,checkbox button 样式设置
    jquery mobile button样式设置
    Ext 三级联动 及附值
    store操作
    Javascript中try finally的细微差别
    mysql entity framework生成画面崩溃
    PYTHON推导生成
    PYTHON修饰器
  • 原文地址:https://www.cnblogs.com/dianxiao2/p/6215555.html
Copyright © 2011-2022 走看看