相关疑难解决方法(0)

Activity.finish()方法到底在做什么?

我正在开发Android应用程序一段时间,并且关注了很多关于活动生命周期和应用程序生命周期的帖子.

我知道Activity.finish()方法调用的方法Activity.onDestroy(),并从堆栈中删除活动,我想它以某种方式指向操作系统和垃圾收集器,他可以"做他的把戏"并释放内存,当它发现它是一个很好的时间做所以....

我来到这篇文章 - 退出申请不赞成?并阅读Mark Murphy的回答.

这让我对这个finish()方法究竟是做什么感到困惑.

我有机会打电话finish(),onDestroy()不会打电话吗?

android application-lifecycle activity-lifecycle ondestroy

148
推荐指数
7
解决办法
20万
查看次数

在onPause之后触发OnClickListener?

我正在使用的项目使用视图展示器抽象.这是所有主要类的简化版本.

抽象活动(Wire Presenter实例,带View)

public abstract class MvpActivity<Presenter extends MvpPresenter>
        extends ActionBarActivity {

  protected Presenter mPresenter;

  @Override protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mPresenter = getPresenterInstance();
  }

  @Override protected void onResume() {
    super.onResume();
    mPresenter.onResume(this);
  }

  @Override protected void onPause() {
    mPresenter.onPause();
    super.onPause();
  }
}
Run Code Online (Sandbox Code Playgroud)

视图界面

public interface MyView {
  void redirect();
}
Run Code Online (Sandbox Code Playgroud)

视图实现

public class MyActivity
        extends MvpActivity<MyPresenter>
        implements MyView {

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

    Button myButton = (Button)findViewById(R.id.my_button);

    myButton.setOnClickListener(v -> mPresenter.onButtonPressed());
  }

  @Override protected MyPresenter getPresenterInstance() …
Run Code Online (Sandbox Code Playgroud)

android android-activity android-actionbaractivity

6
推荐指数
1
解决办法
1395
查看次数