public class mainactivity extends activity
@override
protected void onactivityresult(int requestcode, int resultcode, intent data)
// options.injustdecodebounds = false; 表示解碼**本身
options.injustdecodebounds = false;
bit = bitmapfactory.decodefile(file.getabsolutepath(), options);
captruepic.setimagebitmap(bit);
}} catch (exception e)
}}
使用intent intent = new intent(mediastore.action_image_capture); 開啟camera
如果直接執行startactivityforresult(intent, requestcode);那麼在 onactivityresult(int requestcode, int resultcode, intent data)中的data引數會返回拍的**
使用bundle bundle = data.getextras();
bitmap bit = (bitmap)bundle.get("data");獲得
如果使用intent intent = new intent(mediastore.action_image_capture); 開啟camera
然後設定了intent.putextra(mediastore.extra_output, uri.fromfile(file));**儲存的檔案的uri 那麼在 onactivityresult(int requestcode, int resultcode, intent data)中的data引數不會返回拍的**,要想獲得**可以通過 bitmapfactory.decodefile(file.getabsolutepath(), options);
補充說明:
intent.putextra(mediastore.extra_output, uri.fromfile(file));
這句話中的mediastore.extra_output是為了告訴android裝置不要將返回的壓縮成很小的尺寸,而且它將告訴應用程式,你想將儲存在哪個位置。
bitmap的處理,盡量避免OOM
bitmap是乙個吃記憶體的大傢伙,如果使用不當,那麼程式就會oom常伴了。因此,這篇文章主要介紹幾個方法來控制好bitmap對記憶體的占用。第一種方法 按比例縮小bitmap private bitmap getbitmap string srcpath else if w h h hh if s...
處理Bitmap出現oom的異常
大小 直接使用imageview顯示bitmap會占用較多資源,特別是較大的時候,可能導致崩潰。使用bitmapfactory.options設定insamplesize,這樣做可以減少對系統資源的要求。屬性值insamplesize表示縮圖大小為原始大小的幾分之一,即如果這個值為2,則取出的縮圖的...
關於使用BitMap的小結
建立bitmap bitmap bm null bm bitmap.createbitmap w,h,config.alpha 8 每個畫素佔乙個位元組 8位 bm bitmap.createbitmap w,h,config.argb 4444 兩個位元組 bm bitmap.createbitm...