1

Я тестировал настройку 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

ответ

5

Вы пытались переместить все соответствующие изображения/PNG файлов в

вытяжки-nodpi

папка внутри папки Реза?

+2

Я этого не пробовал, и после поиска «nodpi» кажется, что он «не масштабирует ресурсы, помеченные этим». Разве это не вызовет проблемы на экранах разных размеров? Я довольно новичок в разработке Android, поэтому я не уверен. – ObjectNameDisplay

+0

Просто попробовал, это сработало! Больше нет отставания. Ум объясняет, что происходит? Я не уверен, что понял, что произошло – ObjectNameDisplay

+0

Я не эксперт сам, но я знаю, что Android способен делать много сложной оптимизации памяти в зависимости от размера рассматриваемых изображений и размера просмотров, которые они будут Я понимаю, что ваши изображения в этой папке будут обходить все техники андроидов. Это может помочь вам сейчас, но имейте это в виду, если позже проблемы с памятью пошатнутся. –