Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> android釋放內存的一個辦法,android釋放內存

android釋放內存的一個辦法,android釋放內存

編輯:關於android開發

android釋放內存的一個辦法,android釋放內存


step 1:定義一個監聽接口

public static interface OnLowMemoryListener {  
        void onLowMemoryReceived();  
    }  /* 何問起 hovertree.com */

step 2:android application文件中添加如下代碼

 

//初始化

private ArrayList<WeakReference<OnLowMemoryListener>> mLowMemoryListeners;  
/* 何問起 hovertree.com */
public MyApp() {  
        mLowMemoryListeners = new ArrayList<WeakReference<OnLowMemoryListener>>();  
    }  /* 何問起 hovertree.com */

//注冊監聽

public void registerOnLowMemoryListener(OnLowMemoryListener listener) {  
        if (listener != null) {  
            mLowMemoryListeners  
                    .add(new WeakReference<MyApp.OnLowMemoryListener>(listener));  
        }  
    }  
//移除監聽  
    public void unregisterOnLowMemoryListener(OnLowMemoryListener listener) {  
        if (listener != null) {  
            int i = 0;  
            while (i < mLowMemoryListeners.size()) {  
                final OnLowMemoryListener l = mLowMemoryListeners.get(i).get();  
                if (l == null || l == listener) {  
                    mLowMemoryListeners.remove(i);  
                } else {  
                    i++;  
                }  
            }  
        }  
    }  /* 何問起 hovertree.com */

//內存空間過低的時候,被系統調用

@Override  
    public void onLowMemory() {  
        super.onLowMemory();  
        int i = 0;  
        while (i < mLowMemoryListeners.size()) {  
            final OnLowMemoryListener l = mLowMemoryListeners.get(i).get();  
            if (l == null) {  
                mLowMemoryListeners.remove(i);  
            } else {  
                l.onLowMemoryReceived();  
                i++;  
            }  
        }  
    }  /* 何問起 hovertree.com */

step 3:那些浪費內存的地方,比如圖片緩存,可以實現並注冊這個監聽

推薦:http://www.cnblogs.com/roucheng/p/androidtuichu.html

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved