Я только что разработал приложение для Android, это игра, но я не использую 3D-графику. Это настольная игра, в которой я перемещаю ImageViews на экране. С тех пор я еще не тестировал его на мобильном устройстве, только на эмуляторе. Проблема заключается в том, что когда я запускаю свое приложение на телефоне Samsung Galaxy S2 (dual ore :(), использование CPU увеличивается до 85%, а проклятый телефон нагревается: D, когда я убиваю процесс (полностью закрываю приложение, поэтому он не работает в фоновом режиме), он уменьшается до 0 :)Android. Слишком много использования ЦП
Я даже не знаю, с чего начать исправление проблемы. Не могли бы вы, ребята, дать мне представление?
я могу думать только о двух причинах, по которым это может произойти, но они могут быть глупые причины:
- За исключением потока пользовательского интерфейса, у меня есть еще 2 нити, каждая из которых имеет бесконечное время цикла который циклически неопределен и выглядит, если есть какие-либо сообщения в очереди сообщений каждого потока. Может ли так быть? Должен ли я задерживать эти петли в пару миллисекунд, чтобы они не работали так быстро?
- Я также использую около 20-25 изображений на экране, с которыми я перемещаюсь с помощью touch. Могут ли они иметь какое-либо отношение к этому?
Есть ли способ проверить утечку памяти или SOMETHING ... из эмулятора?
Если кто-нибудь может предложить некоторые советы о том, как я должен подходить к этой проблеме, я был бы благодарен.
хорошим началом может быть MemoryAnalyzer: http://www.eclipse.org/mat/ – noli