Графика игры Xamarin больше не обновляется после публикации файла - PullRequest
0 голосов
/ 27 октября 2018

Я работаю с xamarin и CocosSharp, но у меня скучная проблема, которая заняла у меня два дня.

Я делю экран с помощью CCRenderTexture:

CCRenderTexture renTexture = new CCRenderTexture(size, sizePixel);
            renTexture.Sprite.AnchorPoint = CCPoint.AnchorMiddle;
            renTexture.BeginWithClear(CCColor4B.White);
            App.Current.paper.Visit();
            renTexture.End();

            ScheduleOnce(
                async (t) =>
                {
                    MemoryStream ms = new MemoryStream();
                    renTexture.SaveToStream(ms, CCImageFormat.Jpg);
                    await DependencyService.Get<IShareControl>().ShareImageAsync(ms, 
                                                                                App.Current.formatShare, 
                                                                                renTexture.Texture.ContentSizeInPixels.Width,
                                                                                renTexture.Texture.ContentSizeInPixels.Height);
                }
                , 0f
            );

IShareControl - это спросит пользователя, каким образом он хочет поделиться изображением. Их выбирают все приложения, поддерживающие изображение.

Здесь возникает проблема, возвращаясь к моему заявлению:

Если нажать кнопку «Домой», а затем кнопку «Приложения» и выбрать «Все», все будет хорошо.

Однако, если вы нажмете кнопку «Назад», она вернется в мое приложение, но экран CocosSharp остановится и больше не будет обновляться, но если это произойдет, и я нажму кнопку «Домой», а затем вернусь в свое приложение, все снова работает.

Любые предложения о том, как справиться с этим?

Дополнительная информация:

Окно вывода:

10-27 12: 40: 41.857 I / SurfaceView (24433): updateWindow - onWindowVisibilityChanged, видимость = 4, это = md5b91140b71aacd300338857cebaa38ef2.CCGameView {691154f VFE ...... ........ 0 , 0-1920,1080 # 27} 10-27 12: 40: 41.916 V / PhoneWindow (24433): DecorView setVisiblity: visibility = 0, Parent = ViewRoot {9dfee71 com.companyname.PneumaticDeveloper / md53779371d6f0a32e3c85c9cee64e3c85cf.MainActivity, 470a = Магистратура] 10-27 12: 40: 41.919 I / SurfaceView (24433): updateWindow - onWindowVisibilityChanged, visibility = 0, this = md5b91140b71aacd300338857cebaa38ef2.CCGameView {691154f VFE ...... ........ 0,0- 1920,1080 # 27} 10-27 12: 40: 41.952 D / Surface (24433): Surface :: connect (this = 0x76cf453600, api = 1) 10-27 12: 40: 41,953 W / libEGL (24433): формат [ANDROID_RECORDABLE]: 2 10-27 12: 40: 41.959 D / mali_winsys (24433): EGLint new_window_surface (egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, egl_color_buffer_format *, EGLxoole возвращает 0 000) 10-27 12: 40: 41,968 D / Поверхность (24433): Поверхность :: отключить (это = 0x76cf450c00, api = 1) 10-27 12: 40: 41,969 D / GraphicBuffer (24433): отмена регистрации, ручка (0x76d1f3a7c0) (ш: 1080 ч: 1920 с: 1088 f: 0x2 u: 0x000b00) 10-27 12: 40: 41,970 D / GraphicBuffer (24433): отмена регистрации, ручка (0x76cd4d3100) (ш: 1080 ч: 1920 с: 1088 f: 0x2 u: 0x000b00) 10-27 12: 40: 41,970 D / GraphicBuffer (24433): отмена регистрации, ручка (0x76cd4d3ac0) (ш: 1080 ч: 1920 с: 1088 f: 0x2 u: 0x000b00) 10-27 12: 40: 41,979 W / MALI (24433): winsysp_window_buffer_get: 2379: [MALI] window-> dequeueBuffer Failed, вернуть -19 ... ... 10-27 12: 40: 41.979 E / MALI (24433): gles_state_set_error_internal: 69: [MALI] GLES ctx: 0x76cf2a9ec8, код ошибки: 0x505 10-27 12: 40: 42.111 D / (24433): # 00 pc 000000000000e67c /system/lib64/libutils.so (_ZN7android9CallStackC2EPKci + 92) 10-27 12: 40: 42.111 D / (24433): # 01 ПК 000000000089b3b0 /system/vendor/lib64/egl/libGLES_mali.so (MtkMali_DumpCallStack + 48) 10-27 12: 40: 42.111 D / (24433): # 02 ПК 0000000000838b14 /system/vendor/lib64/egl/libGLES_mali.so 10-27 12: 40: 42.111 D / (24433): # 03 шт 00000000007f2abc /system/vendor/lib64/egl/libGLES_mali.so 10-27 12: 40: 42.111 D / (24433): # 04 ПК 00000000007f0c14 /system/vendor/lib64/egl/libGLES_mali.so 10-27 12: 40: 42.111 D / (24433): # 05 шт 00000000007eeda0 /system/vendor/lib64/egl/libGLES_mali.so 10-27 12: 40: 42.111 D / (24433): # 06 шт 0000000000079554 10-27 12: 40: 42.111 D / MALI (24433): gles_state_set_error_internal: 70: [MALI] Информация об ошибке GLES: не удалось выделить память ЦП Тема закончена: # 15 O нить 0xf foi fechado com o código 0 (0x0). Тема закончена: # 13 O нить 0xd foi fechado com o código 0 (0x0). 10-27 12: 40: 55.506 I / ViewRootImplMainActivity: анализ ключа ANR: в данный момент событие ключа отсутствует. 10-27 12: 40: 55.507 I / ViewRootImplMainActivity: анализ ключа ANR: предыдущее событие null, окончание в 1969-12-31 21: 00: 00.000 10-27 12: 40: 55.507 I / ViewRootImplMainActivity: ANR Анализ движения: в данный момент события движения нет.10-27 12: 40: 55.507 I / ViewRootImplMainActivity: ANR Motion Analyze: предыдущее событие MotionEvent {action = ACTION_UP, actionButton = 0, id [0] = 0, x [0] = 438.77145, y [0] = 127.88159, toolType [0] = TOOL_TYPE_FINGER, buttonState = 0, metaState = 0, flags = 0x0, edgeFlags = 0x0, pointerCount = 1, historySize = 0, eventTime = 65456569, downTime = 65456470, deviceId = 9, source = 0x1002}, окончание в 2018 году -10-27 12: 40: 28,921 10-27 12: 40: 55.566 I / art (24433): нить [3, tid = 24439, WaitingInMainSignalCatcherLoop, нить * = 0x76f7697400, peer = 0x2ac050d0, «Улавливатель сигналов»]: реагирование на сигнал 3

Это случилось даже без обмена.

Открыв свое приложение, я щелкнул по уведомлению, открывшему другое приложение, при возврате в мое приложение с помощью кнопки «Назад» происходит ошибка. В чем разница между возвратом в приложение с помощью кнопки «Назад» или «Приложения»?

...