| 今天在開發字典查詢 App 的時候發生了檔案讀出來存成 buffer 後, 再轉成 String 的過程中發生 Out Of Memory, 一直在百思不解的情況下上社群問了解法, 得到的結果是在 還原現場步驟:
分析現場現場還原了, 但是還是不知道兇手是怎麼樣殺死我的 App 的阿!! 原來是每個手機中各自的 App 可以使用的記憶體上限不同, 也就是有些手機可能是 96M, 而有一些則是 20M. 我們可以透過下面這段程式來瞭解自己手機每個 App 記憶體使用量上限是多少:
而 什麼!2.3.3 不支援 android:largeHeap="true" ?雖然現在都是 Android 4.x 居多的時代, 但抱持著研究的精神當然還是得解決 2.3.3 的問題, 現在讓我們來一步一步解決問題吧.
參考文獻
補充那 largeHeap 的上限到底怎麼設定進去的呢? 那就得看一下 system 的設定檔, 如果你的裝置是 root 就可以使用下面的指令:
接著打開 build.prop 然後跳到 85 行, 就可以看見你這個裝置的 hepap 的相關設定啦! 如果有興趣也可以看看 system 在 build 的時候的設定檔唷~ 有趣的小發現在研究的過程竟然發現有人做了一個可以編輯 build.prop 的 App, 作者我就沒有玩過了, 請勇者們去嘗試吧!! https://play.google.com/store/apps/details?id=org.nathan.jf.build.prop.editor&hl=zh_HK |
Android 踏雷日記(1)String Out Of Memory
最新推荐文章于 2022-03-22 09:38:49 发布
本文记录了在Android开发中遇到的一个由于大量使用String导致的内存溢出问题。详细探讨了String对象的内存分配、常量池以及垃圾回收机制,并提供了优化建议和解决方案,帮助开发者避免类似的内存陷阱。






9179

被折叠的 条评论
为什么被折叠?



