[英]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.