盡量少新建物件,共用物件,及時釋放無用物件
一、分類
1、記憶體洩露 -> 由於某種原因導致gc無法及時**物件。(持有引用者生命週期大於被引用者生命週期)
2、記憶體抖動 -> 頻繁建立大量臨時的小物件。
3、記憶體溢位 -> 超過應用最大使用記憶體上限,常見都由上述2種情況造成。
二、記憶體洩露
1、資源類。例如: 資料庫 、廣播監聽、bitmap等
2、集合類。例如: activity list ,如不remove,activity物件不會釋放
3、匿名內部類/非靜態內部類。內部類持有外部類例項的引用,靜態的持有的是類的引用
4、單例/靜態變數造成的記憶體洩漏。
三、記憶體抖動
1、單例、靜態變數。
2、池技術。
四、記憶體溢位
1、物件使用完及時釋放。例如bitmap 及時釋放、根據解析度和場景壓縮、軟應用。
2、合理的資料結構。 sparsearray、arraymap、減少列舉使用量
3、去除無用的**和引用庫。
4、合理使用軟、弱引用。
五、定位工具
android效能優化
android好用的資料結構與api
android規範
j2me記憶體優化
out momory 一陣天旋地轉記憶體又溢位了。在手機上這種痛苦經常都有,套一句俗話在手機上用記憶體必須勒緊褲腰帶。雖然現在pc記憶體上g都不奇怪,可是在手機上卻只能以k來記,可能某位同志會馬上跳出來說也有上m的,記住中國還不富大多數手機都是低端手機。寫手機程式讓我彷彿回到了dos時代 自我安慰一...
cocos2d x記憶體優化
程式包的 體積 優化方法 首先 你需要很清楚當前自己專案什麼地方佔的體積最多,例如動畫序列多少mb 地圖佔多少mb等等,都要提前做乙個check 別總是認為 可能佔的多,要詳細的知道才行!1.採用工具對資源進行 打包 例如texturepacker 等工具。2.採用png壓縮工具等,在打包前對每張進...
cocos2dx記憶體優化
一 cocos2dx之如何優化記憶體使用 高階篇 一 記憶體優化原則 為了優化應用記憶體,你應該知道是什麼消耗了你應用的大部分記憶體,答案就是texture 紋理 它幾乎佔據了90 的應用記憶體。那麼我們應該盡力去減小我們應用的紋理記憶體使用,否則我們的應用程序可能會被系統殺死。為了減少記憶體警告,...