Android中dismissDialog(int id)和removeDialog(int id)两个接口有什么区别

今天在阅读《Android开发入门与实战》,在第125页。

看到这么一段话“对于创建完的对话框对象,我们可以通过调用该对象dismiss来消除它,但是我们推荐在Activity中调用dismissDialogint id的方式来取消。如果不再需要对话框对象时,可以调用removeDialogint id来删除。”

我的理解是:
(1)dismissDialog:隐藏,仅仅是不在界面显示
(2)removeDialog:销毁对话框对象,释放其内存

恩,你的理解是正确的,通过具体源码可以验证

//从Activity管理的容器中移除dialog的引用(可以近乎理解为销毁),并不显示对话框
public final void removeDialogint id { if mManagedDialogs != null { final ManagedDialog md = mManagedDialogs.getid; if md != null { md.mDialog.dismiss; mManagedDialogs.removeid; } }
} //仅仅是不显示对话框,便于再次使用。
public final void dismissDialogint id { if mManagedDialogs == null { throw missingDialogid; } final ManagedDialog md = mManagedDialogs.getid; if md == null { throw missingDialogid; } md.mDialog.dismiss;
}

新的SDK中已经被废弃了。不推荐使用。 另外书的话 尽量看新的

发表评论

电子邮件地址不会被公开。 必填项已用*标注