記bitmap記憶體優化

2021-10-05 02:48:40 字數 1358 閱讀 7207

減小bitmap佔記憶體大小的方案有兩種:1,options.insamplesize 設定取樣率的值,原理是等比縮放寬高。縮放多少倍bitmap的記憶體大小占用久縮放多少倍。 2.options.inpreferredconfig = bitmap.config.rgb_565; 設定位深,也可以說是設定rgb格式,一般有三種rgb_8888,rgb_565,rgb_4444(現在用這種好像無效果了) 設定這個屬性的話對png是無效的不能改變bitmap的大小,對jpg,webp是有效的。rgb_8888比rgb_565佔的記憶體大一倍。

options.injustdecodebounds = true;//設定這個屬性的話可以拿到的寬和高。拿到這寬高可以自己設定乙個值然後比較是否大於這個值,做乙個取樣率的縮放。

質量壓縮是不能改變bitmap的記憶體占用大小的,但是它可以改變檔案的大小。 尺寸壓縮才可以改變bitmap的記憶體占用大小。

import android.graphics.bitmap;

import android.graphics.bitmapfactory;

import android.os.build;

import android.os.bundle;

import android.view.view;

import android.widget.imageview;

import android.widget.textview;

import androidx.annotation.nullable;

import androidx.annotation.requiresapi;

public class bitmapactivity extends activity else

// options.insamplesize = 4;

// options.inpreferredconfig = bitmap.config.rgb_565;

bitmap bitmap = getbitmap(r.drawable.jiwebp, options);

imageview.setimagebitmap(bitmap);

imgwidth = options.outwidth;

imgheight = options.outheight;

textview.settext("寬=" + imgwidth + "高=" + imgheight + "大小==" + bitmap.getbytecount());

}});

}private bitmap getbitmap(int id, bitmapfactory.options options)

}

android記憶體優化 Bitmap

眾說周知在android開發中bitmap是吃記憶體的大戶,所以談到android記憶體優化首先得對bitmap進行優化 優化方法主要有 1 對於無用的bitmap要及時進行 釋放bitmap的方法 if bitmap null bitmap.isrecycled bitmap.recycle 方法...

Bitmap效能優化問題

倒影的 public static bitmap createreflectionimagewithorigin bitmap bitmap 縮放問題 public static drawable zoomdrawable drawable drawable,int w,int h 縮放方法二 im...

Bitmap在記憶體中載入

package com.danjiang.bitmapdemo import android.annotation.suppresslint import android.graphics.bitmap import android.graphics.bitmap.config import and...