动画列表选项:如何使用inSampleSize来减少内存占用?

时间:2011-09-17 10:43:01

标签: android list animation drawable options

我正在使用xml中定义的动画列表在菜单中显示动画:

<?xml version="1.0" encoding="utf-8"?>
<animation-list     
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/intro_anim"
    android:oneshot="true"
    >
    <item android:drawable="@drawable/intro_0001" android:duration="100" />
    <item android:drawable="@drawable/intro_0002" android:duration="100" />
    <item android:drawable="@drawable/intro_0003" android:duration="100" />
    <item android:drawable="@drawable/intro_0004" android:duration="100" />
    <item android:drawable="@drawable/intro_0005" android:duration="100" />
    <item android:drawable="@drawable/intro_0006" android:duration="100" />
    <item android:drawable="@drawable/intro_0007" android:duration="100" />
    <item android:drawable="@drawable/intro_0008" android:duration="100" />   
    <item android:drawable="@drawable/intro_0009" android:duration="100" />
    <item android:drawable="@drawable/intro_0010" android:duration="100" />
    <item android:drawable="@drawable/intro_0011" android:duration="100" />
    <item android:drawable="@drawable/intro_0012" android:duration="100" />
    <item android:drawable="@drawable/intro_0013" android:duration="100" />
    <item android:drawable="@drawable/intro_0014" android:duration="100" />
    <item android:drawable="@drawable/intro_0015" android:duration="100" />
    <item android:drawable="@drawable/intro_0016" android:duration="100" /> 
    <item android:drawable="@drawable/intro_0017" android:duration="100" />
    <item android:drawable="@drawable/intro_0018" android:duration="100" />
    <item android:drawable="@drawable/intro_0019" android:duration="100" /> 
    <item android:drawable="@drawable/intro_0020" android:duration="100" /> 
    <item android:drawable="@drawable/intro_0021" android:duration="100" /> 
    <item android:drawable="@drawable/intro_0022" android:duration="100" /> 
</animation-list> 

我想减少这些位图的内存占用。 在其他情况下,我做了:

options=new BitmapFactory.Options();
options.inSampleSize = 2;
Bitmap mybmp = BitmapFactory.decodeResource(getResources(), R.drawable.mypng, options);

但我现在怎么办呢?我的动画可绘制代码是:

ImageView mIntro = (ImageView) findViewById(R.id.Image_Intro);
mIntro.setBackgroundResource(R.drawable.intro_anim); // reference to xml anim
AnimationDrawable frameAnimation = (AnimationDrawable)mIntro.getBackground();
frameAnimation.start();   // this is in the onWindowsFocusChanged()

0 个答案:

没有答案