因此,我正在使用Android相機在Android應用程序內拍照。我的用戶中約有90%沒有問題,但其他10%的用戶會得到一張純黑色圖像或奇怪的像素混亂圖像。Android - 圖片回調數據返回圖片,它黑色或混亂
是否有其他人看到過這種行爲?或者有任何想法爲什麼會發生?
例子:
黑色:
混亂:
因此,我正在使用Android相機在Android應用程序內拍照。我的用戶中約有90%沒有問題,但其他10%的用戶會得到一張純黑色圖像或奇怪的像素混亂圖像。Android - 圖片回調數據返回圖片,它黑色或混亂
是否有其他人看到過這種行爲?或者有任何想法爲什麼會發生?
例子:
黑色:
混亂:
我已經有過這樣類似的問題。 簡而言之,問題是:缺少數據。
如果數據流中斷時間過長或意外無法使用,則會發生位圖/流。
可能發生的另一個示例:下載和上傳圖像。 如果用戶禁用所有突然的Wifi /移動網絡,則無法傳輸更多數據。 你最終在一個濺起的圖像。
圖像將出現/視圖沒問題(其中好的意思是黑色/飛濺,它仍然可見!),但內部無效(缺失或損壞的信息)。
如果不是太重要,可以嘗試將所有數據移動到位圖對象(BitmapFactory.decode *)中,並測試返回的位圖是否爲空。如果是,則數據可能已損壞。
這只是解決問題的後果,你可以猜到。 更好的方法是將問題放在腳上: 確保與數據源的連接良好(足夠大,粗壯的緩衝區)。 嘗試避免不必要的強制轉換(例如,從char到int) 使用正確類型的緩衝區(字符流的Reader/Writer或字節流的InputStream/OutputStream)。
另請檢查您是否使用BitmapFactory.Options對象來生成位圖。因爲此對象的很少方法也會使位圖損壞。
從android 4.0開始,他們將hardwareAcceleration設置爲true,作爲清單中的默認值。硬件加速畫布不支持圖片,你會得到一個黑屏...
這是常見的幾個設備或只是隨機發生? – Spidy 2012-01-07 02:30:35