2016-01-21 5 views
1

Моя игра MainActivity задает контент для GamePanel, который расширяет SurfaceView
и в моем классе GamePanel у меня есть много объектов (фон, кнопки, враги, фоновая музыка и т. Д.), Которые создать при запуске Activity.
проблема: при тестировании, когда я запускаю свой MainActivity, все, что я получаю черный экран! и иногда сбой приложения,
Я думаю, почему это происходит, потому что я создаю слишком много вещей сразу, верно?
, так что мой вопрос: как я могу загрузить некоторые из этих объектов или ресурсов, прежде чем начать эту деятельность? и будет ли это работать? и моя игра лучше?
-Если вы хотите мой код, я опубликую его! Спасибо.Загрузка ресурсов перед началом деятельности

+0

Так какие ошибки вы видите в LogCat? – Tasos

ответ

1

Если вы загружаете много ресурсов, вы должны делать это в фоновом потоке, где это возможно, чтобы предотвратить ANR (приложение не отвечает). При желании вы можете показать некоторый пользовательский интерфейс загрузки в самой Деятельности. Одним из способов достижения этой цели будет использовать AsyncTask: делать тяжелую нагрузку в doInBackground() и управления пользовательского интерфейса в onPreExecute() и onPostExecute()

+0

Я согласен с Сэмом, вы также можете проверить пример AsyncTask: http://developer.android.com/training/displaying-bitmaps/process-bitmap.html – pleft

+0

Допустим, я хочу загрузить мои фоновые изображения перед началом работы , Как я могу это сделать? –

+0

Загрузите ресурсы и начните работу после этого. Но нет абсолютно никаких оснований делать это imho – Sam

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