話說Android與電腦一樣都會有事件檢視器可以了解問題點
只是內建的很爛,找個好用的比較能快速找答案
這篇除了提供給碰到開應用程式app時會出現設定已停止之外的問題
也可以應用在其他出問題時,將Log提供給網友幫忙除錯
因為有時候問一個類似問題,答案可以有好幾十種可能性...
而打開應用程式就當掉這個問題在這個月中也有到Mobile01發問
不過當然不會有解答
因為只有提問題點
沒有附上Log
網址在這:http://www.mobile01.com/topicdetail.php?f=569&t=4678659
就在今天花了一些時間去解決
不需要重刷、也不需要解決安裝什麼app之類的
先從Log研究開始
關於查看Log的相關app在Google Play都找的到
這邊我就直接推CatLog
安裝後打開它就會瘋狂地跑即時Log
操作方式非常簡單就是先開Catlog
然後馬上透過多工鍵馬上切換到有問題的app
再馬上切回來Catlog
只要出現xxx已停止
就立馬按一下Catlog上方的暫停鍵
接下來就開始找可能的Log
不過用手機看很不方便
建議可以傳到電腦去看
像是我這次碰到的問題,從Log來看(按一下下面圖片可以有大張可以看)
圖片上面的Log表示正在呼叫需要記憶體
但卻超過了196120K的限制
換算了一下約192M
以我拿3G ram的手機來說
一般人一定會想怎可能不夠用!
對~我的閒置記憶體平均都有1G以上可用
所以這時候就要來找原因
關於Android記憶體的控制
除了原本手機硬體的大小外
還有手機軟體本身的限制
透過ES檔案管理器、Root Explorer等去開啟根目錄底下system資料夾內的build.prop(需要root)
拉到下面會看到dalvik.vm.heap...這些檔案
其中8m是app初始時給它的記憶體大小
192m的就是使用app時記憶體增長最大限制
512m是虛擬機配給它的大小
這些是系統預設的
比照上面Log,會發現那個192m就是每次打開應用程式就會當掉已停止被限制所致
所以快速解決的方式就是調整它!把它調大!
基本上以8的倍數調整
我這邊直接分別改成8m,512m,768m
改完就存檔就可以重新開機完成設定生效!
重開機完後馬上打開應用程式驗證一下
終於不會再當掉,出現已停止了!
切到執行中的頁面會發現...那個設定已經吃了兩百多MB!!
所以限制它增長只能到192m鐵定會出事!
沒有留言:
張貼留言