Android中如何查看記憶體(下)

來源:互聯網
上載者:User

標籤:

執行個體1

 

    int cnt=0;

    final static int kBufferMinSize=1000;

    final static int kBufferMaxSize=2000;

    StringBuffer strBuffer=new StringBuffer(kBufferMinSize);

    StringBuffer strBuffer2=new StringBuffer(kBufferMinSize);

    StringBuffer strBuffer3=new StringBuffer(kBufferMinSize);

    StringBuffer strBufferNativePss=new StringBuffer(kBufferMinSize);

    StringBuffer strBufferDalvikPss=new StringBuffer(kBufferMinSize);

    StringBuffer strBufferOtherPss=new StringBuffer(kBufferMinSize);

    Debug.MemoryInfo memoryInfo=new Debug.MemoryInfo();

    final static String tag="robin";

    void printMemory()

    {

     long totalMemory=Runtime.getRuntime().totalMemory();

          long freeMemory=Runtime.getRuntime().freeMemory();

          long usedMemory=(totalMemory-freeMemory)>>10;

          totalMemory=totalMemory>>10;

          freeMemory=freeMemory>>10;

          if(strBuffer.length()>kBufferMaxSize)

          {

                strBuffer.delete(0,strBuffer.length());

                strBuffer2.delete(0,strBuffer2.length());

                strBuffer3.delete(0,strBuffer3.length());

                strBufferNativePss.delete(0,strBufferNativePss.length());

                strBufferDalvikPss.delete(0,strBufferDalvikPss.length());

          }

          strBuffer.append(usedMemory+",");

          strBuffer2.append(totalMemory+",");

          strBuffer3.append((Debug.getNativeHeapSize()>>10)+",");

          Debug.getMemoryInfo(memoryInfo);

          strBufferNativePss.append((memoryInfo.nativePss)+",");

          strBufferDalvikPss.append((memoryInfo.dalvikPss)+",");

          if(cnt++%10==0)

          {

                Log.i(tag,"usedMemory:"+strBuffer.toString());

                Log.i(tag,"totalMemory:"+strBuffer2.toString());

                Log.i(tag,"NativeHeapSize:"+strBuffer3.toString());

                Log.i(tag,"Native PSS:"+strBufferNativePss.toString());

                Log.i(tag,"Dalvik PSS:"+strBufferDalvikPss.toString());

          }    

    }

注意,對於輸出的記憶體資訊日誌,我們稍作編輯就可以用於在excel產中圖表,比便更直觀的進行分析。

Android中如何查看記憶體(下)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.