程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> pdf-關於Android內存管理問題

pdf-關於Android內存管理問題

編輯:編程綜合問答
關於Android內存管理問題

請教各位大神,我用的一個activity打開一個pdf,完了每次退出的時候我有清空而且提醒內存回收,但是每次內存都不回收,每次打開過一個activity就會消耗掉一些內存,打開幾個之後就會內存溢出了,大神們給個建議啊?這個要怎麼處理呢?
FileInputStream in;
if(uri.getPath() != null) {
in = new FileInputStream(uri.getPath());
} else {
in = new FileInputStream(mPath);
}

                    ByteArrayOutputStream f = new ByteArrayOutputStream();

                    byte[] buffer1 = new byte[1024];
                    int len1 = 0;
                    long total = 0;

                    while ((len1 = in.read(buffer1)) > 0) {

                        f.write(buffer1, 0, len1);//在這裡報內存溢出
                    }

最佳回答:


你內存溢出的時候是打開了多個activity,這些都還沒被destroy嗎?如果是這樣,是很正常的。
如果是打開一個之後,然後back把它銷毀,再打開一個。這種情況下出現OOM,那麼,你就要查下,是不是activity有什麼耗時的後台線程起著,然後你back時還沒結束,那麼資源就會占用,直到這個線程結束。
換句話說,你要看下那個activity有沒有被不會馬上結束的對象引用著。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved