首先,我們來了解一下,安卓裡面的記憶體分配方式以及它的**方式,
的設定最大記憶體這段**不起作用(設定了也沒有什麼用)。
對於那種太久沒有使用的程序,而且又消耗記憶體的,就直接被gc
(安卓的一種**機制)給**掉了。
上附帶的功能進行檢視
當然也可以通過**來實現檢視:runtime.getruntime().maxtime等類似的
然後接下來,我就分享一些比較使用的優化記憶體的方法
一,優化記憶體:
1.如果涉及到大量拼接字串的問題,最好使用stringbuilder,
使用這個方法的效率大概是尋常用加拼接字串的千倍。
2.當用到hashmap時,可以用arraymap或者使用sparearray,這兩個來替換
3.記憶體抖動(一下子突然建立一大推的物件或者一下子突然**一大推的物件),
如果發現了這種情況的時候,看自己怎麼處理了,因為出現這種情況的環境比較多,
其中一般出現在for迴圈裡面。
二,資料結構優化
1.在ondraw這個方法裡面最好不要建立物件,因為,ondraw在繪製圖的過程中
一旦出現什麼建立不成功什麼的,這個方法就會重新執。
2.記憶體洩漏,需要避免這樣一種情況:比如我在activity裡面定義了乙個類,
這個類繼承了thread,然後使用,但這個執行緒它的執行時間比較長,這時就算你關閉了
activity,但是gc卻沒有辦法去**它,因為定義的那個類是依賴於那個activity的,
activity裡面的context。
3.cursor,在使用這個來運算元據庫的時候,注意要將其關閉
ok,基本上對記憶體上的優化就這些了,如果那位還有其他的方法可以
APP效能優化基礎
這裡我大概從以下幾個方面分析吧 資料解析 從解析難度和速度來看,大家都比較傾向於json,目前也是最主流的資料格式。在android開發中可以使用優秀的解析庫來加快我們的解析速度,xml有jsoup,json有jackson gson,我們可以通過這些庫來幫助我們更快的完成資料解析,提高我們客戶端的...
優化APP效能(一)
我們都知道如何在android中建立乙個執行緒,如下 new thread new runnable start 但是這樣子建立執行緒有乙個缺點就是當乙個專案非常大,很多地方都需要開啟子執行緒去執行任務的時候,不斷建立執行緒對於系統的開銷還是非常大的,一定程度上影響系統效能。那麼我們如何才能提高執行...
App效能之優化
本文暫不對工具的使用做過多的深入.在後續的具體例項中會具體說明怎麼用這些工具來達成分析目的和解決問題的.1,官方工具 1.1 strictmode 說明 顧名思義,嚴格模式 主要用來限制應用做一些不符合效能規範的事情.一般用來檢測主線程中的耗 時操作和阻塞.開啟strictmode後,如果執行緒中做...