android圖片太大了
A. Android圖片壓縮與優化的幾種方式
1.使用的圖片最好用png格式
2.如果你的圖片仍然大的話可以在項目裡面點擊右鍵選擇convert to Webp,轉成webp格式圖片可以變小很多!
B. android 中圖片太大,導致載入特別慢怎麼辦
圖片不會太大,如果載入過慢或載入不出來可能是以下問題:
手機裝的軟體過多,儲存空間不足
網速過慢
手機本身配置落後
可以嘗試長按圖片,然後保存到手機,在相冊中查看
請採納,謝謝
C. 在android開發中載入的圖片太大,有好幾十兆,應該怎麼辦
如果圖片太大會造成OOM內存溢出的錯誤,需要用Bitmap的壓縮機制。
解決方案:
1.使用BitmapFactory.decodeStream替代createBitmap方法
原因是該方法直讀取圖片位元組,調用JNI>>nativeDecodeAsset()來完成decode,無需再使用java層的createBitmap。
2.使用壓縮讀取技術
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(imageSdUri, options);
final int height = options.outHeight;
final int width = options.outWidth;
options.inSampleSize = 1;
int w = 320;
int h = 480;
h = w*height/width;//計算出寬高等比率
int a = options.outWidth/ w;
int b = options.outHeight / h;
options.inSampleSize = Math.max(a, b);
options.inJustDecodeBounds = false;
Bitmap bitmap = BitmapFactory.decodeFile(imageSdUri, options);
3.及時釋放Bitamp
Bitmap對象在不使用時,我們應該先調用recycle()釋放內存,然後才它設置為null.雖然recycle()從源碼上看,調用它應該能立即釋放Bitmap的主要內存,但是測試結果顯示它並沒能立即釋放內存。但是我它應該還是能大大的加速Bitmap的主要內存的釋放。
D. android載入大圖片的時候如何防止內存溢出
【答案】:android系統給圖片分配的內存只有8M,當載入大量圖片時往往會出現OOM。
Android載入大量圖片內存溢出解決方案:
1)盡量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource來設置一張大圖,因為這些函數在完成decode後,最終都是通過java層的createBitmap來完成的,需要消耗更多內存,可以通過BitmapFactory.decodeStream方法,創建出一個bitmap,再將其設為ImageView的 source
2)使用BitmapFactory.Options對圖片進行壓縮
InputStream is = this.getResources().openRawResource(R.drawable.pic1);
BitmapFactory.Options ptions=new BitmapFactory.Options();
options.inJustDecodeBounds = false;
options.inSampleSize = 10; //width,hight設為原來的十分一
Bitmap btp =BitmapFactory.decodeStream(is,null,options);
3)運用Java軟引用,進行圖片緩存,將需要經常載入的圖片放進緩存里,避免反復載入
及時銷毀不再使用的Bitmap對象
if(!bmp.isRecycle() ){
bmp.recycle() //回收圖片所佔的內存
system.gc() //提醒系統及時回收
}
E. Android如何處理過大圖片的顯示
你可以把圖片豎直和橫向添加滾動條,這樣就可以顯示發圖片
F. 在android開發中,imageView內的圖片太大擋住了另外一個請問怎麼解決
兩個圖片是平分屏幕寬的可以這樣布局:使用權重
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/fatierenxingming"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/fatierenxingming"/>
</LinearLayout>
G. android照片像素很小但內存很大
文件的大小不一樣,是因為屬性不同
1.壓縮格式不一樣,壓縮演算法不同。比如JPG文件就比較小,BMP文件就非常大。JPG是壓縮比最好的圖片格式之一。
2、壓縮質量不一樣。同樣是JPG,壓縮質量也是有區別的。可以選擇10%的壓縮質量,效果非常差,但90%的質量,幾乎和不壓縮一樣。一般,JPG的壓縮比在70%以上,就和原圖的差距不大。
像素就相當於人的個子。兩個人個子一樣高,說明不了什麼,可能性別都不一樣。圖片也是一樣,像素只是畫面的大小,其它方面,完全是另一回事。