Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中逐帧设置图像动画的最佳方法_Android_Performance_Android Animation_Android Memory - Fatal编程技术网

在Android中逐帧设置图像动画的最佳方法

在Android中逐帧设置图像动画的最佳方法,android,performance,android-animation,android-memory,Android,Performance,Android Animation,Android Memory,我有3组50幅图像,我必须在Android应用程序中为每组图像创建动画。我能够创建一个简单的应用程序,使用下面的方法制作第一组50幅图像的动画 在drawable文件夹中添加了动画列表xml,并使用frameAnimation.start()调用它 直到我在清单文件中保留了下面的“android:largeHeap=“true”,这个方法才起作用 我不确定这是否是制作图像动画的好方法(如果我们有更多的图像,并且每个图像的大小都更大,比如60KB,图像是JPG格式的),或者不是 我浏览了一下,发现

我有3组50幅图像,我必须在Android应用程序中为每组图像创建动画。我能够创建一个简单的应用程序,使用下面的方法制作第一组50幅图像的动画

在drawable文件夹中添加了动画列表xml,并使用frameAnimation.start()调用它

直到我在清单文件中保留了下面的“android:largeHeap=“true”,这个方法才起作用

我不确定这是否是制作图像动画的好方法(如果我们有更多的图像,并且每个图像的大小都更大,比如60KB,图像是JPG格式的),或者不是

我浏览了一下,发现如果我们能够清除内存,如果我们能够在内存中保留更少的图像,那么我们的应用程序就会工作得很好。所以我想知道如何清除内存

请让我知道,我是否需要按照不同的方法来动画图像,而不是我上面解释的,以便我可以清除记忆

谢谢您的帮助。

请这样做。。
    Do this way..
    ---------------------            
         ImageView img = (ImageView)findViewById(R.id.some layout);
         AnimationDrawable frameAnimation =    (AnimationDrawable)img.getDrawable();
         frameAnimation.setCallback(img);
         frameAnimation.setVisible(true, true);
         frameAnimation.start();


    and to add animation you can do something like 
   -----------------------------------------------
  <animation-list   android:id="@+id/my_animation" android:oneshot="false" 
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/frame1" android:duration="150" />
    <item android:drawable="@drawable/frame2" android:duration="150" />

 </animation-list>
--------------------- ImageView img=(ImageView)findViewById(R.id.some布局); AnimationDrawable frameAnimation=(AnimationDrawable)img.getDrawable(); frameAnimation.setCallback(img); frameAnimation.setVisible(true,true); frameAnimation.start(); 要添加动画,您可以执行以下操作 -----------------------------------------------
这样做。。
---------------------            
ImageView img=(ImageView)findViewById(R.id.some布局);
AnimationDrawable frameAnimation=(AnimationDrawable)img.getDrawable();
frameAnimation.setCallback(img);
frameAnimation.setVisible(true,true);
frameAnimation.start();
要添加动画,您可以执行以下操作
-----------------------------------------------

在Android系统中以类似帧的方式处理大量图像不是一件好事,因为它会触发可怕的“内存不足”异常

无法清除内存本身。解决此问题的最佳方法是正确处理应用程序的位图

我不确定,但你可能想看看

这是一个HTML5引擎,我们以前用它来创建游戏。
通过绘制画布本身,我们已经用它重新创建了帧动画。但这只需要WebDev技能。

在Android中以类似帧的方式处理大量图像不是一件好事,因为它会触发可怕的“内存不足”异常

无法清除内存本身。解决此问题的最佳方法是正确处理应用程序的位图

我不确定,但你可能想看看

这是一个HTML5引擎,我们以前用它来创建游戏。
通过绘制画布本身,我们已经用它重新创建了帧动画。不过这需要WebDev技能。

在阅读了几篇文章并做了大量研究之后,我最终以编程方式修改Imageview中的图像以模拟帧动画。这样,我就可以在缓存中的任何时间点维护三个图像ime(上一个、当前和下一个)。我希望这对其他人有用。

在阅读了几篇文章并做了大量研究之后,我最终以编程方式修改Imageview中的图像以模拟帧动画。这样我就可以在任何时间点在缓存中维护三个图像(上一个、当前和下一个)。我希望这对其他人有用。

嗨,Brijesh,谢谢你的回复。我也采用了同样的方法。当我使用时,它会一次将所有图像加载到内存中。因此,我出现内存不足异常。请告诉我是否有其他方法来处理逐帧动画。嗨,Brijesh,谢谢你的回复。我采用了t他也是这样。当我使用时,它会一次将所有图像加载到内存中。因此,我的内存出现异常。请告诉我是否有其他方法来处理逐帧动画。嗨,你能为我提供一些有关创建帧动画的应用程序PhoneGap用法的链接或示例代码吗?谢谢你的帮助。S对于迟来的回复,我很抱歉。总结一下您想要看到的内容,它是这样的:setInterval(draw,1000);函数draw(){MyStage.clearRect(0,0,clearX,clearY);drawYourSprite(coordinateX,coordinaley,spriteWidth,spriteHeight);}它由web编程和javascript组成,因此如果你已经有了javascript的背景知识,那就容易多了。谢谢。我会试试这个。:)嗨,你能给我提供一些关于创建帧动画的应用程序PhoneGap用法的链接或示例代码吗?谢谢你的帮助。很抱歉回复太晚。总结一下你想要的内容让我看看,它是这样的:setInterval(draw,1000);function draw(){MyStage.clearRect(0,0,clearX,clearY);drawYourSprite(coordinateX,coordinateY,spriteWidth,spriteHeight);}它由web编程和javascript组成,所以如果你已经有了javascript的背景,那就容易多了。谢谢。我会试试这个。)