Я тестировал настройку ImageView как анимационного списка с небольшими файлами png, и проблем не было, но попробовал это на фоне работы RelativeLayout, но вызвал некоторые серьезные задержки. Это происходит, когда я использую первые 5 из 16 изображений png, и я заметил, что он не будет работать, если я добавлю все из них из-за нехватки памяти. Вот соответствующий код (onFinish() только когда таймер обратного отсчета останавливается): Основной метод:Android Background Animation Lagging Game
@Override
public void onFinish() {
count.setText("Go!");
playing = true;
startTime = System.currentTimeMillis();
score.setVisibility(View.VISIBLE);
//Start background animation
RelativeLayout rl = (RelativeLayout) findViewById(R.id.main);
rl.setBackgroundResource(R.drawable.background);
AnimationDrawable frameAnimation = (AnimationDrawable) rl.getBackground();
frameAnimation.start();
}
Расположение:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="@drawable/background"
tools:context=".MainActivity" >
Animation-лист:
<?xml version="1.0" encoding="utf-8"?>
<animation-list
xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false" >
<item android:drawable="@drawable/background_0" android:duration="50"/>
<item android:drawable="@drawable/background_1" android:duration="50" />
<item android:drawable="@drawable/background_1" android:duration="50" />
<item android:drawable="@drawable/background_2" android:duration="50" />
<item android:drawable="@drawable/background_3" android:duration="50" />
<item android:drawable="@drawable/background_4" android:duration="50" />
<item android:drawable="@drawable/background_5" android:duration="50" />
</animation-list>
И вот некоторые из изображений, о которых идет речь в случае, если с ними что-то не так http://imgur.com/a/vEmKn
Я этого не пробовал, и после поиска «nodpi» кажется, что он «не масштабирует ресурсы, помеченные этим». Разве это не вызовет проблемы на экранах разных размеров? Я довольно новичок в разработке Android, поэтому я не уверен. – ObjectNameDisplay
Просто попробовал, это сработало! Больше нет отставания. Ум объясняет, что происходит? Я не уверен, что понял, что произошло – ObjectNameDisplay
Я не эксперт сам, но я знаю, что Android способен делать много сложной оптимизации памяти в зависимости от размера рассматриваемых изображений и размера просмотров, которые они будут Я понимаю, что ваши изображения в этой папке будут обходить все техники андроидов. Это может помочь вам сейчас, но имейте это в виду, если позже проблемы с памятью пошатнутся. –