在我的应用程序中我显示一些gif图像,它们在模拟器中完美运行但是当我在我的智能手机中安装apk文件时,应用程序正常工作,但gif图像不显示,任何解释为什么?
这是我的gif显示视图的代码
import androID.content.Context;import java.io.inputStream;import androID.graphics.Canvas;import androID.graphics.color;import androID.graphics.MovIE;import androID.os.SystemClock;import androID.vIEw.VIEw;public class GifWebVIEw extends VIEw { private MovIE mMovIE; inputStream mStream; long mMovIEstart; public GifWebVIEw(Context context, inputStream stream) { super(context); mStream = stream; mMovIE = MovIE.decodeStream(mStream); } @OverrIDe protected voID onDraw(Canvas canvas) { canvas.drawcolor(color.transparent); super.onDraw(canvas); final long Now = SystemClock.uptimeMillis(); if (mMovIEstart == 0) { mMovIEstart = Now; } int gif_image_duration = mMovIE.duration(); if(gif_image_duration==0) { gif_image_duration = 1; } final int relTime = (int) ((Now - mMovIEstart) % gif_image_duration); mMovIE.setTime(relTime); mMovIE.draw(canvas, 10, 10); this.invalIDate(); }}
在我的活动中,我打电话
GifWebVIEw gif_vIEw;// as global var
并在我的创建方法
gif_linear_layout = (linearLayout)findVIEwByID(R.ID.gif_linear_layout);inputStream stream = null; try { stream = getAssets().open(gif_name); //stream = getAssets().open("gif_images").; } catch (IOException e) { e.printstacktrace(); } gif_vIEw = new GifWebVIEw(this, stream); gif_linear_layout.addVIEw(gif_vIEw);
这就是第1部分的样子:在模拟器第2部分:在我的智能电话上
解决方法:
我面临同样的问题.如果您确信您的代码没问题,那么只需在您的此活动清单中添加androID:harDWareAccelerated =“false”即可.希望它能解决你的问题.
总结以上是内存溢出为你收集整理的java – 我的gif图像显示在模拟器中但在我的智能手机中丢失了全部内容,希望文章能够帮你解决java – 我的gif图像显示在模拟器中但在我的智能手机中丢失了所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)