2013-10-03 6 views
0

Я разрабатываю приложение дополненной реальности с Unity, где пользователи могут снимать фотографию с помощью своего мобильного устройства, чтобы добавить на нее 3D-объекты. Проблема в том, что на Android, когда пользователь хочет снимать фотографию с моего приложения, приложение помещается на задний план и часто закрывается, а не хранится в памяти для обработки сделанной фотографии. Я знаю, что это из-за того, что Android убивает приложения, чтобы освободить RAM. Но есть ли способ предотвратить убийство моего приложения? Даже на Ipad 2 с 512Mo бара IOS не делает этого жестокого убийства: после съемки он плавно возвращается в приложение. В то время как Android делает это с моим телефоном 1Go. Также я не хочу, чтобы мое приложение было убито и перезагружено службой для обработки фотографии, потому что она очень тяжелая для загрузки и поэтому действительно далека от немедленного запуска.Как предотвратить Android от убийства моего приложения Unity?

ответ

1

Application.runInBackground отключен на мобильных платформах, и поэтому Unity не может гарантировать, что ваша игра/приложение будет работать. Это нормально, поскольку ОС по мере необходимости убивает действия. К сожалению, Android является ресурсным голодом, и поэтому приложения, которые остаются в фоновом режиме на iOs, могут быть убиты на Android, даже с лучшим оборудованием.

Как указано в this thread, у вас есть несколько вариантов: использовать состояния для обработки паузы/возобновления, создать службу, которая будет работать в фоновом режиме (ее нужно будет создать за пределами Unity либо через плагин, либо в eclipse) и/или использовать механизм намерений Android.

Смежные вопросы