我在tabwidget中更新第三次单击活动时收到错误

时间:2012-06-13 07:18:12

标签: android android-intent refresh

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

刷新代码:

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被释放5105   objects / 356600字节,60ms 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):--- decoder-> decode返回false 06-13   07:23:03.424:D / AndroidRuntime(315):关闭VM 06-13   07:23:03.424:W / dalvikvm(315):threadid = 1:线程退出   未捕获的异常(组= 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:E / AndroidRuntime(315):at   android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:515)   06-13 07:23:03.464:E / AndroidRuntime(315):at   com.nimbosolutions.projecte1.Registrat.getBitmapFromURL(Registrat.java:227)   06-13 07:23:03.464:E / AndroidRuntime(315):at   com.nimbosolutions.projecte1.Registrat.onCreate(Registrat.java:96)   06-13 07:23:03.464:E / AndroidRuntime(315):at   android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)   06-13 07:23:03.464:E / AndroidRuntime(315):at   android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)   06-13 07:23:03.464:E / AndroidRuntime(315):at   android.app.ActivityThread.startActivityNow(ActivityThread.java:2503)   06-13 07:23:03.464:E / AndroidRuntime(315):at   android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127)   06-13 07:23:03.464:E / AndroidRuntime(315):at   android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339)   06-13 07:23:03.464:E / AndroidRuntime(315):at   com.nimbosolutions.projecte1.Registrat $ 2.onClick(Registrat.java:166)   06-13 07:23:03.464:E / AndroidRuntime(315):at   android.view.View.performClick(View.java:2408)06-13 07:23:03.464:   E / AndroidRuntime(315):at   android.view.View $ PerformClick.run(View.java:8816)06-13 07:23:03.464:   E / AndroidRuntime(315):at   android.os.Handler.handleCallback(Handler.java:587)06-13   07:23:03.464:E / AndroidRuntime(315):at   android.os.Handler.dispatchMessage(Handler.java:92)06-13   07:23:03.464:E / AndroidRuntime(315):at   android.os.Looper.loop(Looper.java:123)06-13 07:23:03.464:   E / AndroidRuntime(315):at   android.app.ActivityThread.main(ActivityThread.java:4627)06-13   07:23:03.464:E / AndroidRuntime(315):at   java.lang.reflect.Method.invokeNative(Native Method)06-13   07:23:03.464:E / AndroidRuntime(315):at   java.lang.reflect.Method.invoke(Method.java:521)06-13 07:23:03.464:   E / AndroidRuntime(315):at   com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)   06-13 07:23:03.464:E / AndroidRuntime(315):at   com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)06-13   07:23:03.464:E / AndroidRuntime(315):at   dalvik.system.NativeStart.main(原生方法)

其他按钮:

    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):致命异常:主要   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):at   android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)   06-13 09:50:13.493:E / AndroidRuntime(1274):at   android.app.ActivityThread.startActivityNow(ActivityThread.java:2503)   06-13 09:50:13.493:E / AndroidRuntime(1274):at   android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127)   06-13 09:50:13.493:E / AndroidRuntime(1274):at   android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339)   06-13 09:50:13.493:E / AndroidRuntime(1274):at   com.nimbosolutions.projecte1.webPushActivity $ 3.onClick(webPushActivity.java:177)   06-13 09:50:13.493:E / AndroidRuntime(1274):at   android.view.View.performClick(View.java:2408)06-13 09:50:13.493:   E / AndroidRuntime(1274):at   android.view.View $ PerformClick.run(View.java:8816)06-13 09:50:13.493:   E / AndroidRuntime(1274):at   android.os.Handler.handleCallback(Handler.java:587)06-13   09:50:13.493:E / AndroidRuntime(1274):at   android.os.Handler.dispatchMessage(Handler.java:92)06-13   09:50:13.493:E / AndroidRuntime(1274):at   android.os.Looper.loop(Looper.java:123)06-13 09:50:13.493:   E / AndroidRuntime(1274):at   android.app.ActivityThread.main(ActivityThread.java:4627)06-13   09:50:13.493:E / AndroidRuntime(1274):at   java.lang.reflect.Method.invokeNative(Native Method)06-13   09:50:13.493:E / AndroidRuntime(1274):at   java.lang.reflect.Method.invoke(Method.java:521)06-13 09:50:13.493:   E / AndroidRuntime(1274):at   com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)   06-13 09:50:13.493:E / AndroidRuntime(1274):at   com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)06-13   09:50:13.493:E / AndroidRuntime(1274):at   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):at   com.nimbosolutions.projecte1.webPushActivity.onCreate(webPushActivity.java:71)   06-13 09:50:13.493:E / AndroidRuntime(1274):at   android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)   06-13 09:50:13.493:E / AndroidRuntime(1274):at   android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)   06-13 09:50:13.493:E / AndroidRuntime(1274):... 15更多

提前致谢!

2 个答案:

答案 0 :(得分:0)

您正在创建位图,以下行说明错误:

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

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

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

答案 1 :(得分:0)

对于此例外:

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

我已经给出了答案bitmap size exceeds Vm budget error android。请仔细阅读,它应该可以解决您的问题。

谢谢:)