android延时函数内存泄露,android应用程序类中ProgressDialog的内存泄漏

我在Lottie的应用程序类中使用了一个进度对话框,但是在显示进度对话框时出现内存泄漏我怎样才能修好它?

我的申请代码是:

public class AppController extends Application {

public static final String TAG = AppController.class.getSimpleName();

private static AppController mInstance;

AppCompatDialog progressDialog;

@Override

public void onCreate() {

super.onCreate();

if (LeakCanary.isInAnalyzerProcess(this)) {

// This process is dedicated to LeakCanary for heap analysis.

// You should not init your app in this process.

return;

}

LeakCanary.install(this);

// Normal app init code...

mInstance = this;

}

public static synchronized AppController getInstance() {

return mInstance;

}

/**

* Progress Dialog

*/

public void progressON(Activity activity) {

if (activity == null) {

return;

}

if (progressDialog != null && progressDialog.isShowing()) {

} else {

progressDialog = new AppCompatDialog(activity);

progressDialog.setCancelable(false);

progressDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));

progressDialog.setContentView(R.layout.progress_loading);

progressDialog.show();

}

final LottieAnimationView lottieAnimationView = (LottieAnimationView) progressDialog.findViewById(R.id.progress_lottie);

lottieAnimationView.playAnimation();

}

public void progressOFF() {

if (progressDialog != null && progressDialog.isShowing()) {

progressDialog.dismiss();

}

}

}

当我使用progress on/off时:

AppController.getInstance().progressON(PartnerDetailActivity.this);

AppController.getInstance().progressOFF();

错误图像为:

你可能感兴趣的:(android延时函数内存泄露)