Странная проблема производительности с Galaxy Tab

Я работаю над 2-мерным учебником и смог протестировать свою текущую часть учебника на Samsung Galaxy Tab.

В учебном пособии просто случайным образом перемещается значок по умолчанию по экрану. Одним касанием я создаю новый движущийся значок. Все работает нормально (постоянно 60 кадров в секунду) на Galaxy, пока на экране не более 25 элементов.

С 26-м элементом частота кадров падает до 25 кадров в секунду.

Когда я меняю размер / размер изображения к гораздо большему, я получаю менее 25 кадров в секунду перед 26-м элементом. Все в порядке. Но при некотором не очень воспроизводимом количестве элементов кадр падает с (в большинстве случаев более) 10 кадров в секунду до 1 кадра в секунду.

На моем Nexus One я могу добавить 150 элементов и все еще иметь 50 кадров в секунду.

Что я сделал: я изменил Переменная bitmap в статическую, поэтому не каждый элемент имеет собственное изображение, но все используют одно и то же. Это устранило поведение, но я сомневаюсь, что это хорошее решение. Магическое число 25 предполагает, что таким образом я могу использовать только 25 различных изображений.

Кто-нибудь знает, что может вызвать такое поведение? Это ошибка в модифицированной версии Samsung для Android?

Доступен мой пример проекта eclipse . Я был бы признателен, если бы какой-нибудь владелец Samsung проверил их работоспособность на образце.

edit

Коллега нашел решение. Он изменил способ загрузки растрового изображения с

mBitmap = BitmapFactory.decodeResource(res, R.drawable.icon);

на

mBitmap = BitmapFactory.decodeStream(new BufferedInputStream(res.openRawResource(R.drawable.icon)));

, но мы до сих пор не понимаем, почему это работает таким образом ...

12
задан WarrenFaith 21 April 2011 в 08:27
поделиться