編輯:關於android開發
1 android 內存洩露是因為分配的內存回收失敗
public static LocalHelper getInstance(Context context) {
if (instance==null){
instance = new LocalHelper(context);
}
return instance;
}
如果在contenx 傳一個Activity 那麼在Acitivty finish之後是無法對activity 進行回收的
因為 靜態實例會對activity繼續引用, 這時候 內存無法GC 會產生oom 和 內存洩露
2 Handler 引起的內存洩露
Handler 的使用造成的內存洩漏問題應該說是最為常見了
,我們知道 Handler、Message 和 MessageQueue 都是相互關聯在一起的
Handler 發送的 Message 尚未被處理,則該 Message 及發送它的 Handler 對象將被線程 MessageQueue 一直持有。
由於 Handler 屬於 TLS(Thread Local Storage) 變量, 生命周期和 Activity 是不一致的。
因此這種實現方式一般很難保證跟 View 或者 Activity 的生命周期保持一致,故很容易導致無法正確釋放。
建議使用弱引用 不過會有activity.成員變量 寫起來麻煩!
3 在imageloader 加載圖片的時候 如果 你使用了Rgb_565這樣是可以在加載圖片的時候減少內存消耗 不過加載出來的圖片會模糊 建議使用 imagesize,
options = new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisk(false)
.bitmapConfig(Bitmap.Config.RGB_565)
.build();
ImageSize size = new ImageSize(getImageWidth(), getImageWidth());
imageLoader.loadImage(localFile.getOriginalUri(), size, options, new SimpleImageLoadingListener(viewHolder.imageView));
在imageload 加載原圖的時候 若果你圖片過大 建議使用線程數為1 因為在3個線程同時加載的時候很容易 oom;
4 靜態集合類對象記得clear();
【轉】Android Studio下加入百度地圖的使用 (一)——環境搭建,androidstudio 最近有學 生要做畢業設計,會使用到定位及地圖信息的功能,特此研究
在整理前幾篇文章的時候有朋友提出寫一下ListView的性能優化方面的東西,這個問題也是我在面試過程中被別人問到的…..今天就借此機會
Android開發學習之路--百度地圖之初體驗 手機都有gps和網絡,通過gps或者網絡可以定位到自己,然後通過百度,騰訊啊之類的地圖可以顯示我們的地理位置。這裡學習
android高仿京東垂直循環滾動新聞欄 京東的垂直滾動新聞欄的實現原理: 就是一個自定義的LinearLayout,並且textView能夠循環垂直滾動,而且條目可以