то при вызове метода (например после успешного просмотра рекламы), может получить нулл поинтер эксепшн, так как не подгрузилась в память до конца. Кто как решает такой сценарий? Я поставил паузу в 0.5с но понятно что это не решение
так это решение
Отвратительное. Попробовал поставить встроенный метод OnGamePause (от монобехейвора), который вызывается с аргументом false, когда игра выходит из бэграунда, но не пойму пока что, метод вызывается после всех загрузок или нет.
докажи мне что оно плохое, оно работает, зачем трогать
А это на какой платформе?
У него работает, только если подождать. А это явный костыль
А какой конкретно метод? Потому что по идее игра должна полностью разваливаться, если попытается работать не полностью загруженная в память. Потому что игра сама находится в event loop и сама постоянно вызывает какие-то свои методы
OnUnityAdsShowComplete (от UityAds). Он вызывается норм, но в нём есть вызовы уже методов самой игры. (например Instatiate), и вот они крашились в 100% случаев без задержки. А с задержой 100% не крашились.
Хм. А если один кадр пропустить? Может там именно одно кадра всегда будет хватать, чтобы игра отдуплила
Ну типа юнити в этом одном кадре сами костыль сделали и приводят свои дела в норму
Я в андроид логкате анализировал. Там много всякой хрени назад загружается. Думаю всё-таки встроенные методы (на скрине) по идее должны отрабатывать эту загрузку. Но я ещё не проверил, будет ли зависание ПОСЛЕ этих методов. Пока что стоит задежка и работает. Но обязательно проверю. В Логкате при возврате приложение из бэгрануда, какие-то загрузки идут, потом эти методы, а после всё-равно что-то догружатеся... так что есть сомнения.
Обсуждают сегодня