綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[其他] 管理圖片

[複製連結] 查看: 3454|回覆: 1|好評: 1
跳轉到指定樓層
樓主
tommybbee | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2013-9-2 12:28

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
手機可用的Memory空間真的很小, 基本上載入數張圖片就會不幸滿溢
所以要好好管理, 而當中最主要的當然是圖片, 動輒用MB計的。

所以分享一下這段簡單的程式碼,
讓大家避免再因為用盡16MB允許空間而陣亡。

package com.tommiAndroid.WhatSaid;

import java.lang.ref.WeakReference;
import java.util.LinkedList;
import java.util.List;

import android.graphics.Bitmap;

public class BitmapManagement {
        //board
        private static List<WeakReference<Bitmap>> weakReferences = new LinkedList<WeakReference<Bitmap>>();
        //method
        public static void add(Bitmap bitmap) {
                if (bitmap.isRecycled() == false) {
                        WeakReference<Bitmap> weakReference = get(bitmap);
                        if (weakReference == null)
                                weakReferences.add(new WeakReference<Bitmap>(bitmap));
                }
        }
        private static WeakReference<Bitmap> get(Bitmap bitmap) {
                for (WeakReference<Bitmap> weakReference : weakReferences)
                        if (weakReference.get() == bitmap)
                                return weakReference;
                return null;
        }
        public static void recycle(Bitmap bitmap) {
                if (bitmap.isRecycled() == false)
                        bitmap.recycle();
                WeakReference<Bitmap> weakReference = get(bitmap);
                if (weakReference != null)
                        weakReferences.remove(weakReference);
        }
        public static int byteCount() {
                int byteCount = 0;
                for (WeakReference<Bitmap> weakReference : weakReferences) {
                        Bitmap bitmap = weakReference.get();
                        if (bitmap != null
                                && bitmap.isRecycled() == false)
                                byteCount += bitmap.getByteCount();
                }
                return byteCount;
        }
}
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
mtcr1 | 收聽TA | 只看該作者
發表於 2013-10-25 19:23
請指教,請問要如何使用?
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則