Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> andorid 報錯bindertransation

andorid 報錯bindertransation

編輯:關於Android編程

原因是 官方規定intent傳遞時,數據不能超過1M

The Binder transaction buffer has a limited fixed size, currently 1Mb, which is shared by all transactions in progress for the process. (http://developer.android.com/intl/zh-cn/reference/android/os/TransactionTooLargeException.html)

所以必須對圖進行縮放處理

private Bitmap zoombitmap(Bitmap tmpBitmap) {
		int rawHeight = tmpBitmap.getHeight(); 
    	int rawWidth = tmpBitmap.getWidth(); 
    	System.out.println("原圖高:"+rawHeight+"寬:"+rawWidth);
    	// 設定圖片新的高寬,根據圖片長寬進行設置 縮略圖長寬
    	int newHeight=100;
    	int newWidth=200;
    	// 計算縮放因子 
    	float heightScale = ((float) newHeight) / rawHeight; 
    	float widthScale = ((float) newWidth) / rawWidth; 
    	// 新建立矩陣 
    	Matrix matrix = new Matrix(); 
    	matrix.postScale(heightScale, widthScale); 
    	 Bitmap resizeBmp =Bitmap.createBitmap(tmpBitmap,0,0,rawWidth,rawHeight,matrix,true);
    	return resizeBmp; 
		
		}

這樣處理後,報錯是不會了,但是不夠智能,美觀,需改進

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