2015-08-10 18 views
5

Çağrı MediaMetadata.getString bitmap okunamadı, raporda kazasında altında olması her zaman olmasa üreme:MediaMetadata.getString java.lang.RuntimeException: parsel damla

java.lang.RuntimeException: Could not read bitmap from parcel blob. 
    at android.graphics.Bitmap.nativeCreateFromParcel(Native Method) 
    at android.graphics.Bitmap.access$000(Bitmap.java:32) 
    at android.graphics.Bitmap$1.createFromParcel(Bitmap.java:1477) 
    at android.graphics.Bitmap$1.createFromParcel(Bitmap.java:1469) 
    at android.os.Parcel.readParcelable(Parcel.java:2246) 
    at android.os.Parcel.readValue(Parcel.java:2146) 
    at android.os.Parcel.readArrayMapInternal(Parcel.java:2479) 
    at android.os.BaseBundle.unparcel(BaseBundle.java:221) 
    at android.os.BaseBundle.getCharSequence(BaseBundle.java:953) 
    at android.os.Bundle.getCharSequence(Bundle.java:716) 
    at android.media.MediaMetadata.getText(MediaMetadata.java:334) 
    at android.media.MediaMetadata.getString(MediaMetadata.java:347) 

kod darbe gibidir, MediaMetadata meta api MediaSessionManager.OnActiveSessionsChangedListener denetleyicisinden, üçüncü bölüm müzik uygulaması tarafından oluşturulmalıdır.

meta.getString(MediaMetadata.METADATA_KEY_ALBUM_ARTIST); 
    meta.getString(MediaMetadata.METADATA_KEY_ARTIST);    
    meta.getString(MediaMetadata.METADATA_KEY_AUTHOR);   
    meta.getBitmap(MediaMetadata.METADATA_KEY_ART); 
    meta.getBitmap(MediaMetadata.METADATA_KEY_ALBUM_ART);    
    meta.getString(MediaMetadata.METADATA_KEY_ALBUM); 
    meta.getString(MediaMetadata.METADATA_KEY_TITLE); 

Neden getString bitmap'i ayrıştıracak? Bu gerçekleştiğinde hafızanın dışarı çıkması mümkün mü?

+1

Hangi ortamı okuyorsunuz/MediaMetadata'yı nasıl oluşturuyorsunuz? – ianhanniballake

+0

bu konuda herhangi bir haber eklemek @ianhanniballake –

+0

ekleyin? – swalkner

cevap

0

Bu, .putBitmap(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON, icon) ile MediaMetaData nesnesine büyük bitmapler yerleştirdiğinizde bunun olacağını düşünüyorum. Bu bitmap MediaDescription'da kullanılır ve bu nedenle serileştirildiği için oldukça küçük olmalıdır. Meta verilere her zaman getString numaralı telefonu aradığınızda serileştirilir.

Bu nedenle, bu sorunun çözümü yalnızca METADATA_KEY_DISPLAY_ICON için küçük bitmap'ler kullanmak ya da mümkünse kullanmayın.

İlgili konular