最近剛進入新公司實習,在查看項目代碼的時候看到以前的同事是這么寫的代碼獲取Bitmap的大?。?/span>
return bitmap.getRowBytes() * bitmap.getHeight();// 獲取大小并返回
感覺很奇怪,為什么要這樣計算而不是直接調用bitmap.getByteCount();呢?
查閱文檔之后才知道,這個項目的minSDK=8,targetSDK=19,因此無法直接調用,而要通過這樣的方式寫。但是,我還是覺得這樣寫不嚴謹,因為對于API LEVEL 12以后的版本還是該使用新的方法。
這里總結一下獲取Bitmap圖片大小的代碼:
public int getBitmapSize(Bitmap bitmap){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){ //API 19
return bitmap.getAllocationByteCount();
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1){//API 12
return bitmap.getByteCount();
}
return bitmap.getRowBytes() * bitmap.getHeight(); //earlier version
}免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。