I am developing an APP with Rad Studio 10.2 and all hotfixes.
I now have a problem with icons that I added to the APP. Under Android 5 and some Android 7 devices (e. g. HTC One AICP) the ListView
with the self-created icons works wonderfully. However, if I test this on a OnePlus One with Lineage OS (also Android 7) or some other Android 7 devices with manufacturer OS, the images are not shown on second app start (first works). I get the following error messages (on all! Devices) in the Android LogCat between the last "Application.CreateForm"
or "Application.Run;"
(in Project.dpr
) and the first call of Form.Create
:
12-05 11:40:28.395 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx E/libEGL: call to OpenGL ES API with no current context (logged once per thread) 12-05 11:40:28.395 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx E/libEGL: call to OpenGL ES API with no current context (logged once per thread) 12-05 11:40:28.395 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx E/libEGL: validate_display:99 error 3008 (EGL_BAD_DISPLAY) 12-05 11:40:28.395 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx E/libEGL: call to OpenGL ES API with no current context (logged once per thread)
After that I get further error messages which look like this:
12-05 11:42:32.115 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx E/BufferQueueProducer: [SurfaceTexture-0-20262-0] dequeueBuffer: BufferQueue has been abandoned 12-05 11:42:32.115 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx W/Adreno-EGLSUB: : dequeue native buffer fail: No such device, buffer=0x0, handle=0x0 12-05 11:42:32.115 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx W/Adreno-ES20: : GL_OUT_OF_MEMORY 12-05 11:42:32.116 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx I/info: FMX: X_APP NAME_X: [Context Exception]: Textur für 'TContextAndroid' kann nicht erstellt werden. 12-05 11:42:32.118 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx E/BufferQueueProducer: [SurfaceTexture-0-20262-0] dequeueBuffer: BufferQueue has been abandoned 12-05 11:42:32.119 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx W/Adreno-EGLSUB: : dequeue native buffer fail: No such device, buffer=0x0, handle=0x0 12-05 11:42:32.119 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx W/Adreno-ES20: : GL_OUT_OF_MEMORY 12-05 11:42:32.119 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx I/info: FMX: X_APP NAME_X: [Context Exception]: Textur für 'TContextAndroid' kann nicht erstellt werden. 12-05 11:42:32.122 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx E/BufferQueueProducer: [SurfaceTexture-0-20262-0] dequeueBuffer: BufferQueue has been abandoned 12-05 11:42:32.122 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx W/Adreno-EGLSUB: : dequeue native buffer fail: No such device, buffer=0x0, handle=0x0 12-05 11:42:32.122 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx W/Adreno-ES20: : GL_OUT_OF_MEMORY 12-05 11:44:04.148 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx I/info: FMX: X_APP NAME_X: [Context Exception]: Textur für 'TContextAndroid' kann nicht erstellt werden. 12-05 11:44:04.178 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx E/BufferQueueProducer: [SurfaceTexture-0-20262-0] dequeueBuffer: BufferQueue has been abandoned 12-05 11:44:04.178 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx W/Adreno-EGLSUB: : dequeue native buffer fail: No such device, buffer=0x0, handle=0x0 12-05 11:44:04.178 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx W/Adreno-ES20: : GL_OUT_OF_MEMORY 12-05 11:44:04.179 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx I/info: FMX: X_APP NAME_X: [Context Exception]: Schattiererprogramm für 'TContextAndroid' kann nicht aktiviert werden. 12-05 11:44:04.179 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx E/BufferQueueProducer: [SurfaceTexture-0-20262-0] dequeueBuffer: BufferQueue has been abandoned 12-05 11:44:04.179 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx W/Adreno-EGLSUB: : dequeue native buffer fail: No such device, buffer=0x0, handle=0x0 12-05 11:44:04.179 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx W/Adreno-ES20: : GL_OUT_OF_MEMORY 12-05 11:44:04.186 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx I/info: FMX: X_APP NAME_X: [Context Exception]: Fehler in der Kontextmethode "DoFinalizeTexture". 12-05 11:44:04.218 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx E/BufferQueueProducer: [SurfaceTexture-0-20262-0] dequeueBuffer: BufferQueue has been abandoned 12-05 11:44:04.218 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx W/Adreno-EGLSUB: : dequeue native buffer fail: No such device, buffer=0x0, handle=0x0 12-05 11:44:04.218 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx W/Adreno-ES20: : GL_OUT_OF_MEMORY 12-05 11:44:04.218 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx I/info: FMX: X_APP NAME_X: [Context Exception]: Schattiererprogramm für 'TContextAndroid' kann nicht aktiviert werden. 12-05 11:44:04.218 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx E/BufferQueueProducer: [SurfaceTexture-0-20262-0] dequeueBuffer: BufferQueue has been abandoned 12-05 11:44:04.218 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx W/Adreno-EGLSUB: : dequeue native buffer fail: No such device, buffer=0x0, handle=0x0 12-05 11:44:04.218 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx W/Adreno-ES20: : GL_OUT_OF_MEMORY 12-05 11:44:04.218 20262-20262/com.xxxxxx.xxxxxx.Xxxxxx I/info: FMX: X_APP NAME_X: [Context Exception]: Fehler in der Kontextmethode "DoFinalizeTexture".
As far as i could inspect these errors appear after using TAndroidHelper.Context
or changing the icons.
As far as i could inspect this errors appear after using TAndroidHelper.Context or changing the icons.
Does anyone know why this only appear on serveral devices and how to fix this?
I dont know if this errors are connected to the not showing images.
I dont get why the images are not displayed/disappearing.
After I built a minimal build of the app, I found out that this bug is related to TPrototypeBindSource and the live binding. If you remove this component, the images will be displayed correctly under the affected Android 7 devices. A bug report is available: https://quality.embarcadero.com/browse/RSP-19484