Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.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
Java 创建活动的新实例_Java_Android_Memory Leaks - Fatal编程技术网

Java 创建活动的新实例

Java 创建活动的新实例,java,android,memory-leaks,Java,Android,Memory Leaks,我不太确定我是否正确地接近了它。我想在点击某个活动的按钮时执行一些网络操作,然后再次使用更新的数据重新启动同一活动 当我尝试使用以下代码执行此操作时: new DataLoader(MainActivity.this,1,1).execute(); 我得到内存泄漏错误。我尝试了下面的选项,因为我读到了相同的活动引用应该被处理 我试着这样做: try { GalleryDemoActivity.this.finalize(); } catch (Throwable e)

我不太确定我是否正确地接近了它。我想在点击某个活动的按钮时执行一些网络操作,然后再次使用更新的数据重新启动同一活动

当我尝试使用以下代码执行此操作时:

new DataLoader(MainActivity.this,1,1).execute();
我得到内存泄漏错误。我尝试了下面的选项,因为我读到了相同的活动引用应该被处理

我试着这样做:

try {
        GalleryDemoActivity.this.finalize();
    } catch (Throwable e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    new DataLoader(new MainActivity(),1,1).execute();
但这给了我一个错误,因为它发现MainActivity的实例为Null

Stcktrace: 10-02 22:33:59.060:E/dalvikvm-heap18637:225808字节分配的内存不足

请帮助我以正确的方式解决问题

谢谢


Aman

您正在尝试重新启动您正在进行的活动?数据是否永久存储在任何地方,或者您是否试图将数据传递给新活动?不要尝试创建活动的实例,请使用生命周期方法和意图。运行任务并在OnPostExecute中更新UI最好使用ApplicationContext而不是Activity。@zgc7009我正在从网络获取数据并存储在SD卡中。在获取数据时,我正在尝试重新加载相同的活动。根据@codeMagic所说的内容和询问我问题的原因,如果您有持久数据,可以调用finish;StartActivityNewIntentThis,MainActivity.class;
10-02 22:33:59.060: I/dalvikvm(18637): "main" prio=5 tid=1 RUNNABLE
10-02 22:33:59.060: I/dalvikvm(18637):   | group="main" sCount=0 dsCount=0 obj=0x40c976b8 self=0x400630c0
10-02 22:33:59.060: I/dalvikvm(18637):   | sysTid=18637 nice=0 sched=0/0 cgrp=apps handle=1074956408
10-02 22:33:59.060: I/dalvikvm(18637):   | schedstat=( 0 0 0 ) utm=890 stm=80 core=0
10-02 22:33:59.060: I/dalvikvm(18637):   at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
10-02 22:33:59.070: I/dalvikvm(18637):   at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:500)
10-02 22:33:59.070: I/dalvikvm(18637):   at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:353)
10-02 22:33:59.070: I/dalvikvm(18637):   at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:785)
10-02 22:33:59.080: I/dalvikvm(18637):   at android.content.res.Resources.loadDrawable(Resources.java:1934)
10-02 22:33:59.080: I/dalvikvm(18637):   at android.content.res.Resources.getDrawable(Resources.java:663)
10-02 22:33:59.080: I/dalvikvm(18637):   at com.gurbani.sikhwallpaper.GalleryDemoActivity.getDrawablesList(GalleryDemoActivity.java:230)
10-02 22:33:59.090: I/dalvikvm(18637):   at com.gurbani.sikhwallpaper.GalleryDemoActivity.onCreate(GalleryDemoActivity.java:71)
10-02 22:33:59.090: I/dalvikvm(18637):   at android.app.Activity.performCreate(Activity.java:5013)
10-02 22:33:59.090: I/dalvikvm(18637):   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
10-02 22:33:59.090: I/dalvikvm(18637):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2029)
10-02 22:33:59.090: I/dalvikvm(18637):   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2090)
10-02 22:33:59.090: I/dalvikvm(18637):   at android.app.ActivityThread.access$600(ActivityThread.java:136)
10-02 22:33:59.090: I/dalvikvm(18637):   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1201)
10-02 22:33:59.090: I/dalvikvm(18637):   at android.os.Handler.dispatchMessage(Handler.java:99)
10-02 22:33:59.100: I/dalvikvm(18637):   at android.os.Looper.loop(Looper.java:137)
10-02 22:33:59.100: I/dalvikvm(18637):   at android.app.ActivityThread.main(ActivityThread.java:4802)
10-02 22:33:59.100: I/dalvikvm(18637):   at java.lang.reflect.Method.invokeNative(Native Method)
10-02 22:33:59.100: I/dalvikvm(18637):   at java.lang.reflect.Method.invoke(Method.java:511)
10-02 22:33:59.110: I/dalvikvm(18637):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:813)
10-02 22:33:59.110: I/dalvikvm(18637):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:580)
10-02 22:33:59.110: I/dalvikvm(18637):   at dalvik.system.NativeStart.main(Native Method)