Fresco: placeholder menyebabkan kebocoran memori

Dibuat pada 13 Jan 2016  ·  4Komentar  ·  Sumber: facebook/fresco

kode saya di xml adalah

        <com.facebook.drawee.view.SimpleDraweeView
            android:layout_width="0dp"
            fresco:placeholderImage="@drawable/thisone_placeholder"
            fresco:actualImageScaleType="fitCenter"
            android:layout_height="wrap_content"
            fresco:viewAspectRatio="0.5625"
            android:layout_weight="1" />

thisone_placeholder_left adalah jpg, ketika saya menggunakan ini, memori meningkat dengan cepat.
dan setelah saya pindah, itu menjadi normal.

needs-details

Komentar yang paling membantu

Kecil atau tidak, kebocoran adalah kebocoran.

Semua 4 komentar

Fresco tidak melakukan sesuatu yang mewah tentang gambar placeholder - apa pun yang Anda tentukan, itu akan diperoleh melalui Resources.getDrawable (https://github.com/facebook/fresco/blob/94ce1dee0733300fe2c029382e0c454169db81b8/drawee/src/main/java/ com/facebook/drawee/view/GenericDraweeView.java#L246).

Bisakah Anda memeriksa apakah memori bertambah karena gambar thisone_placeholder sebesar itu atau karena banyak contoh bitmap dibuat (satu per dapat digambar)? Anda dapat memeriksanya di heapdump.

Saya mengkonfirmasi ini.

Saya memiliki tampilan kisi dengan beberapa gambar menggunakan JPEG besar sebagai pengganti (untuk pengujian), dan aplikasi mogok karena kekurangan memori. Saya menghapus placeholder dan melakukan cara lama, memeriksa apakah ada gambar, jika tidak memuat placeholder sebagai gambar yang sebenarnya, dan kebocoran berhenti.

Berikut analisis alokasi memori Android Studio: 2016.02.10_21.04.zip

Placeholder dimaksudkan untuk menjadi gambar kecil yang dimuat dengan cepat. Jika Anda perlu menggunakan gambar besar di sana, Anda harus menggunakan permintaan beresolusi rendah .

Kecil atau tidak, kebocoran adalah kebocoran.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat