Я работаю над учебником 2d и смог проверить текущую часть учебника на вкладке Samsung Galaxy Tab.
Учебник просто перемещает значок по умолчанию случайно по экрану. При нажатии я создаю новую движущуюся иконку. Все работает отлично (постоянно 60 кадров в секунду) на Галактике, пока у меня есть 25 элементов или меньше на экране.
С 26-м элементом частота кадров снижается до 25 кадров в секунду.
Когда я изменяю размер/размер изображения на гораздо больший, я достигаю менее 25 кадров в секунду до 26-го элемента. Ничего страшного. Но при некотором невоспроизводимом количестве элементов кадр падает (в основном больше) на 10 кадров в секунду до 1 кадра в секунду.
В моем Nexus One я могу добавить 150 элементов и по-прежнему иметь 50 кадров в секунду.
Что я сделал: я изменил переменную bitmap на статическую, поэтому не каждый элемент имеет свой собственный образ, но все используют то же самое. Это устранило поведение, но я сомневаюсь, что это решение является хорошим. Магическое число 25 предполагает, что я могу использовать только 25 различных изображений таким образом.
Есть ли у кого-нибудь идеи, что может вызвать такое поведение? Это ошибка в модифицированной версии Android от Samsung?
Мой образец проекта eclipse доступен. Я был бы признателен, если бы какой-либо владелец Samsung проверил их производительность с образцом.
изменить
Сотрудник нашел решение. Он изменил способ загрузки растрового изображения из
mBitmap = BitmapFactory.decodeResource(res, R.drawable.icon);
к
mBitmap = BitmapFactory.decodeStream(new BufferedInputStream(res.openRawResource(R.drawable.icon)));
Но мы по-прежнему не понимаем, почему он работает таким образом...