我编写了从SDCard中选择文件夹的代码,它的路径作为Uri/字符串返回。我还检查返回的文件夹是否包含图像(以.jpg结尾)。现在我有了路径,我想在按钮的intent.putextras上启动一个新的活动(使用意图并在onClick中传递uri的值),以便下一个活动像幻灯片一样依次显示图像(使用计时器)。给我一个基本的大纲,说明我是如何做这件事的。我应该遵循什么步骤?
这是我的Logcat错误:
11-10 17:23:30.500:调试/dalvikvm(15114):GC_EXTERNAL_ALLOC释放了2K,释放了49%的空闲2773K/5379K,外部11850 K/13302 K,暂停了55 11 11-10 17:23:30.510: ERROR/dalvikvm堆(15114):3840000字节的外部分配对于这个进程来说太大了。11-10 17:23:30.510: ERROR/dalvikvm(15114):内存不足:堆Size=5379KB、Allocated=2774KB、Bitmap Size=11850KB、Limit=20480KB 11-10 17:23:30.510: ERROR/dalvikvm(15114):Trim info: Footprint=5379KB、允许的Footprint=5379KB、Trimmed=908KB 11-1017:23:30.510: ERROR/GraphicsJNI(15114):VM不会让我们分配3840000字节-1017:23:30.550:调试/dalvikvm(15114):释放的GC_FOR_MALLOC <1K,释放49%的2773K/5379 K,外部11850K/13302K,暂停34ms 11-10 17:23:30.550:调试/skia(15114):--解码器返回错误11-10 17:23:30.550:调试/AndroidRuntime(15114):关闭VM 11-10 17:23:30.550: WARN/dalvikvm(15114):threadid=1:线程发出未登录异常(group=0x400205a0) 11-1017:23:30.550: ERROR/AndroidRuntime(15114):致命异常:主11-1017:23:30.550: ERROR/AndroidRuntime(15114):java.lang.OutOfMemoryError:位图大小超过VM预算(堆Size=7299KB,Allocated=2773KB,位图: 11-10 17:23:30.550: ERROR/AndroidRuntime(15114):at android.graphics.BitmapFactory.nativeDecodeFile(Native方法) 11-10 17:23:30.550: ERROR/AndroidRuntime(15114):at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:355) 11-10 17:23:30.550: ERROR/AndroidRuntime(15114):在android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:433) 11-10 17:23:30.550: ERROR/AndroidRuntime(15114):在com.androidworkz.imageviewflipper.ImageViewFlipper$MyGestureDetector.onFling(ImageViewFlipper.java:357) 11-10 17:23:30.550: ERROR/AndroidRuntime(15114):在android.view.GestureDetector.onTouchEvent(GestureDetector.java:568) 11-10 17:30.550: ERROR/AndroidRuntime(15114):at com.androidworkz.imageviewflipper.ImageViewFlipper.onTouchEvent(ImageViewFlipper.java:428) 11-10 17:23:30.550: ERROR/AndroidRuntime(15114):at android.app.Activity.dispatchTouchEvent(Activity.java:2217) 11-10 17:23:30.550: com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1747) /AndroidRuntime(15114):at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1747) 11-10 17:23:30.550: ERROR/AndroidRuntime(15114):at android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2336) 11-10 17:23:30.550: ERROR/AndroidRuntime(15114):at android.view.ViewRoot.handleMessage(11-10 17:23:30.550: android.os.Handler.dispatchMessage(Handler.java:99) /AndroidRuntime(15114):at ViewRoot.java:1976 11-10 17:23:30.550: ERROR/AndroidRuntime(15114):at android.os.Looper.loop(Looper.java:143) 11-10 17:23:30.550: ERROR/AndroidRuntime(15114):at android.app.ActivityThread.main(ActivityThread.java:4277) 11-1017:23:30.550: ERROR/AndroidRuntime(15114):at java.lang.reflect.Method.invokeNative(原生方法) 11-10 17:23:30.550: ERROR/AndroidRuntime(15114):at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 11-10 17:23:30.550: ERROR/AndroidRuntime(15114):at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 11-10 17:23:30.550:ERROR/AndroidRuntime(15114):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 11-10 17:23:30.550: ERROR/AndroidRuntime(15114):at dalvik.system.NativeStart.main(原生方法)11-1017:23:30.570: WARN/ActivityManager(123):
力整理活性com.androidworkz.imageviewflipper/.ImageViewFlipper
发布于 2011-11-09 04:55:38
你好,正如您所描述的,您想要制作幻灯片显示,那么您应该使用android ViewFlipper来制作幻灯片显示,因为您需要.Please,在做任何类似于Android中的幻灯片显示的事情之前,先检查这个参考链接。
链接一是用于搜索SD卡上几乎所有类型的图像路径的最佳工具,但使用这个示例,您将不得不处理安卓中内存不足的问题,所以要小心使用it.In,示例图像是滑动的,在刷完之后,由于内存问题,它将被迫关闭。
1.链接一
在上面的例子中,他们正在使用
viewFlipper.showNext();
viewFlipper.showPrevious();
因此,您必须使用您自己的逻辑使ViewFlipper到Flip作为现在制作幻灯片的一些规则间隔,然后使用计时器在您喜欢的时间之后制作ViewFlipper,或者可以使用线程来制作下一步的ViewFlipper。
您也可以在从一幅图像到另一幅图像的变化之间应用动画。以下是安卓系统中动画使用的链接:点击这里链接二
您可能也会遇到内存问题,所以请阅读以下内容:链接三
https://stackoverflow.com/questions/8049083
复制相似问题