bumptech / glide

An image loading and caching library for Android focused on smooth scrolling
https://bumptech.github.io/glide/
Other
34.61k stars 6.12k forks source link

avif-integration need a 16KB version for Android #5433

Closed xuetaotao-lotusflare closed 1 month ago

xuetaotao-lotusflare commented 2 months ago

Glide Version: 4.16.0

Integration libraries: avif-integration: 4.16.0

Device/Android Version: Virtual Device Pixel 8, Android 15, Page Size 16KB

Issue details / Repro steps / Use case background: App crashes when opened.

Glide load line / GlideModule (if any) / list Adapter code (if any):

Glide.with...

Layout XML:

<FrameLayout xmlns:android="...

Stack trace / LogCat:

Fatal signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x785f57d5a950 in tid 17964 (glide-disk-cach), pid 17824 (.mobile.android)
pid: 17824, tid: 17964, name: glide-disk-cach
 #00 pc 0000000000002950  /data/app/~~quB3bSKEfTjbXrxK_m9H8Q==/com.android-m-RaB9E7J0P3PgPP8wsTXA==/base.apk (offset 0x4f08000)
#01 pc 00000000000c6694  /data/app/~~quB3bSKEfTjbXrxK_m9H8Q==/com.android-m-RaB9E7J0P3PgPP8wsTXA==/base.apk!libavif_android.so (offset 0x4e40000) 
#18 pc 000000000037e588  /data/app/~~quB3bSKEfTjbXrxK_m9H8Q==/com.android-m-RaB9E7J0P3PgPP8wsTXA==/base.apk (org.aomedia.avif.android.AvifDecoder.<clinit>+0)
#27 pc 00000000003f0c58  /data/app/~~quB3bSKEfTjbXrxK_m9H8Q==/com.android-m-RaB9E7J0P3PgPP8wsTXA==/base.apk (com.bumptech.glide.integration.avif.AvifByteBufferBitmapDecoder.handles+0)
<img width="1220" alt="image" src="https://github.com/user-attachments/assets/e8c2a296-e847-47df-92a0-812590419b87">
xuetaotao-lotusflare commented 1 month ago

Can use this aar package and combine it with the three classes under glide's integration/avif to adapt to the 16KB memory page size required by Android 15. https://github.com/xuetaotao/libavif/releases/tag/v1.1.0

ernesto-flores commented 1 month ago

I'm wondering if Glide has any plans to update the com.github.bumptech.glide.avif-integration dependency to add support for 16KB? or should we reopen a new issue for it?