簡體   English   中英

閃屏泄露memory怎么解決?

[英]Splash screen leaking memory how to fix it?

我的啟動畫面泄漏 memory 誰能告訴我如何解決這個問題?

public class SplashActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splash);

    new InnerClass(SplashActivity.this).loadNext();
}

private static class InnerClass {
    private final WeakReference<Activity> weakReference;

    private InnerClass(Activity activity) {
        this.weakReference = new WeakReference<>(activity);
    }

    private void loadNext() {
        Activity context = weakReference.get();
        if (context != null) {
            Timer timer = new Timer();
            timer.schedule(new TimerTask() {
                @Override
                public void run() {
                    context.startActivity(new Intent(context, NavigationActivity.class));
                    context.finish();
                }
            }, 2000);
        }
    }
}

}

這是泄漏金絲雀庫報告,顯示您的活動泄漏 memory 這是泄漏金絲雀庫報告,顯示您的活動泄漏內存

在 run() 方法中移動weakReference.get() run()方法。 請嘗試以下:

private void loadNext() {
            Timer timer = new Timer();
            timer.schedule(new TimerTask() {
                @Override
                public void run() {
                    Activity context = weakReference.get();
                    if (context != null) {
                    context.startActivity(new Intent(context, NavigationActivity.class));
                    context.finish();
                   }
                }
            }, 2000);
         }
        

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM