0

我有个问题。我在不同的活动中有两个刷新按钮,它可以工作,但是当我第三次单击时,出现错误。是否有必要放一个光标来控制它?

刷新代码:

refrescar.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0)              {
Intent anterior = getIntent();
anterior.setFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
View vista = getLocalActivityManager().startActivity("registratsi", anterior).getDecorView();
setContentView(vista);
  }
});

06-13 07:22:59.904: E/src(315):

06-13 07:23:01.384:D/dalvikvm(315):GC_EXTERNAL_ALLOC 在 60 毫秒内释放了 5105 个对象/356600 个字节 06-13 07:23:02.315:E/Bitmap(315):返回 06-13 07:23:02.334 : E/src(315):

06-13 07:23:02.694: E/Bitmap(315): 返回 06-13 07:23:02.704: E/src(315):

06-13 07:23:03.084: E/Bitmap(315): 返回 06-13 07:23:03.095: E/src(315):

06-13 07:23:03.424: E/dalvikvm-heap(315): 531392 字节的外部分配对于这个进程来说太大了。06-13 07:23:03.424: E/GraphicsJNI(315): VM 不允许我们分配 531392 字节 06-13 07:23:03.424: D/skia(315): --- 解码器->解码返回 false 06-13 07:23:03.424: D/AndroidRuntime(315): 关闭 VM 06-13 07:23:03.424: W/dalvikvm(315): threadid=1: 线程退出但未捕获异常 (group=0x4001d800) 06 -13 07:23:03.464:E/AndroidRuntime(315):致命异常:主要 06-13 07:23:03.464:E/AndroidRuntime(315):java.lang.OutOfMemoryError:位图大小超过 VM 预算 06-13 07 :23:03.464: E/AndroidRuntime(315): at android.graphics.BitmapFactory.nativeDecodeStream(Native Method) 06-13 07:23:03.464: E/AndroidRuntime(315): at android.graphics.BitmapFactory.decodeStream(BitmapFactory .java:459) 06-13 07:23:03.464:

其他按钮:

    btnReload.setOnClickListener(new OnClickListener()          {           @Override           public void onClick(View arg0)              { //                >Intent anterior = getIntent();
            Intent anterior = new Intent (webPushActivity.this, webPushActivity.class);
             View vista = getLocalActivityManager().startActivity("social",
                     anterior)
                        .getDecorView(); 
                   setContentView(vista);           }       });

其他错误:

06-13 09:50:13.493: E/AndroidRuntime(1274): 致命异常: main 06-13 09:50:13.493: E/AndroidRuntime(1274): java.lang.RuntimeException: 无法启动活动 ComponentInfo{com. nimbosolutions.projecte1/com.nimbosolutions.projecte1.webPushActivity}:java.lang.NullPointerException 06-13 09:50:13.493:E/AndroidRuntime(1274):在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 06 -13 09:50:13.493: E/AndroidRuntime(1274): 在 android.app.ActivityThread.startActivityNow(ActivityThread.java:2503) 06-13 09:50:13.493: E/AndroidRuntime(1274): 在 android.app .LocalActivityManager.moveToState(LocalActivityManager.java:127) 06-13 09:50:13.493: E/AndroidRuntime(1274): 在 android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339) 06-13 09:50:13.493 : E/AndroidRuntime(1274): 在 com.nimbosolutions.projecte1.webPushActivity$3.onClick(webPushActivity.java:177) 06-13 09:50:13.493: E/AndroidRuntime(1274): 在 android.view.View.performClick(View.java:2408) 06-13 09 :50:13.493: E/AndroidRuntime(1274): 在 android.view.View$PerformClick.run(View.java:8816) 06-13 09:50:13.493: E/AndroidRuntime(1274): 在 android.os。 Handler.handleCallback(Handler.java:587) 06-13 09:50:13.493: E/AndroidRuntime(1274): 在 android.os.Handler.dispatchMessage(Handler.java:92) 06-13 09:50:13.493: E/AndroidRuntime(1274): 在 android.os.Looper.loop(Looper.java:123) 06-13 09:50:13.493: E/AndroidRuntime(1274): 在 android.app.ActivityThread.main(ActivityThread.java :4627) 06-13 09:50:13.493: E/AndroidRuntime(1274): 在 java.lang.reflect.Method.invokeNative(Native Method) 06-13 09:50:13.493: E/AndroidRuntime(1274):在 java.lang.reflect.Method.invoke(Method.java:521) 06-13 09:50:13.493: E/AndroidRuntime(1274): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit. java:868) 06-13 09:50:13.493: E/AndroidRuntime(1274): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 06-13 09:50:13.493: E/ AndroidRuntime(1274): 在 dalvik.system.NativeStart.main(Native Method) 06-13 09:50:13.493: E/AndroidRuntime(1274): 由: java.lang.NullPointerException 06-13 09:50:13.493: E/AndroidRuntime(1274): 在 com.nimbosolutions.projecte1.webPushActivity.onCreate(webPushActivity.java:71) 06-13 09:50:13.493: E/AndroidRuntime(1274): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation .java:1047) 06-13 09:50:13.493: E/AndroidRuntime(1274): 在 android.app.ActivityThread。performLaunchActivity(ActivityThread.java:2627) 06-13 09:50:13.493: E/AndroidRuntime(1274): ... 15 更多

提前致谢!

4

2 回答 2

0

您正在创建一个位图,以下行说明出了什么问题:

java.lang.OutOfMemoryError: bitmap size exceeds VM budget 06-13 07:23:03.464: 

也许您正在创建太多位图。或者您的位图太大。在旧版本的 Android 中,即使您创建了第二个位图,bitmapFactory 也存在一个错误,会引发这些内存错误,因此您必须回收所有位图。较新版本的 Android 似乎没有这些问题,或者可能是因为现在有更多内存。

尝试只创建一个位图,并在使用后回收它。如果您使用多个位图,请确保将它们缩小到您需要的大小。那应该这样做。

于 2012-06-13T07:31:07.767 回答
0

对于这个例外:

java.lang.OutOfMemoryError: bitmap size exceeds VM budget 06-13 07:23:03.464: 

我已经给出了我的答案位图大小超出 Vm 预算错误 android。请通过它,它应该可以解决您的问题。

谢谢 :)

于 2012-06-13T07:40:23.613 回答