美文网首页
内存泄漏和内存抖动检测

内存泄漏和内存抖动检测

作者: ArcherZang | 来源:发表于2019-11-26 16:04 被阅读0次

    内存泄漏

    1. Profiler--确认数量并导出文件


      确认数量1.png
    2. 使用命令转换文件

    hprof-conv heap-original.hprof heap-converted.hprof
    
    1. 使用Eclipse---MemoryAnalyzer打开文件


      GC可回收.PNG

    4.打开柱状图 Histogram


    柱状图3.PNG
    1. 进入QQLIVE


      柱状图3.PNG
    2. mege后进入界面找出泄漏点;并根据引用对象寻找代码


      引用对象5.PNG

    7.无法使用正常方式处理,如置null或者取消注册等方法,可以用反射。

    try{
                Field mCurRootViewField = InputMethodManager.class.getDeclaredField(attr);
                mCurRootViewField.setAccessible(true);
                //取对象
                Object mCurRootView=mCurRootViewField.get(im);
    
                if (null!=mCurRootView) {
                    Context context=((View)mCurRootView).getContext();
                    if(context==this){
                        //破坏GC链
                        mCurRootViewField.set(im,null);
                    }
                }
            }catch(Exception e){
                e.printStackTrace();
            }
    

    内存抖动

    垃圾桶很多,且一段时间内的分配和回收数量很多。


    内存抖动.PNG

    相关文章

      网友评论

          本文标题:内存泄漏和内存抖动检测

          本文链接:https://www.haomeiwen.com/subject/hfsjwctx.html