(3)android 圖片編輯要注意的點

1. 保存寫入存儲卡的權限html

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />android

測試過程當中發現5.0以前的版本在讀取圖片數據時還須要android.permission.READ_EXTERNAL_STORAGE權限。數據庫

 

2. 視圖上顯示的圖片和保存時所用的圖片分開,保存所用爲原圖,而顯示所用圖片能夠控制解析時的採樣率決定大小。標準以顯示時的清晰度(越大越清晰)和編輯處理時的速率(越小越快)爲準。多線程

 

3. 圖片顯示視圖要注意適配不一樣大小的圖片函數

(1) 視圖大小是固定的viewWidth,viewHeight測試

(2) 圖片以寬或高最大的一邊不大於viewWidth或viewHeight進行縮放線程

 

4. 有些圖片可能比較大,所以讀取到內存的時候要注意outofmemoryerror,這一點能夠參考BitmapFactory類相關一文中介紹的方法處理。若是保存時出現這樣的問題,那麼最終保存下來的圖片相比於原圖是有必定的採樣損失的。這是考慮到內存的一種必要妥協,但出現這種狀況時原圖通常很大,這樣的損失每每視覺上無礙。htm

 

5. 通常圖片的方向爲0,而全景照片是一種特殊類型的方向不爲0的圖片,爲了保證內容的正確性須要進行方向處理,同時編輯有可能有旋轉的操做,此時就更須要特殊處理。對象

 

6. 圖片編輯完成保存時,除了Bitmap源以外,還須要copy原圖的Exif文件和寫入新的數據庫文件,可能有變化的就是方向值,寬高值,尤爲方向值結合第5點須要慎重對待。blog

 

7. 圖片保存寫入SD卡,須要判斷存儲盤是否掛載,是否有足夠的存儲空間。

 

8. Bitmap和Canvas函數中有關bitmap的一些操做是對Bitmap複製操做,產生了一個新的對象,這比較耗時,且此時要注意對再也不使用的bitmap進行recycle處理和置空。有些操做仍然是對原對象處理,此時要注意全部使用該Bitmap的地方都是操做後的bitmap。

 

9. 關於bitmap的操做是耗時操做,此時應考慮使用多線程處理,但要注意原線程繪製時Bitmap必定要準備完畢。

相關文章
相關標籤/搜索