android - 팝업 - 뒤로 버튼을 누르면 어떻게 활동을 종료합니까?



앱 종료 팝업 (4)

Activity가 시작되면 인터넷에서 이미지를로드합니다. 메모리를 절약하기 위해 뒤로 버튼을 눌러 Activity를 남겨두면 모든 데이터를 덤프 할 수 있습니다. 즉, 모든 문자열과 이미지가 제거됩니다. 이 일을하는 가장 좋은 방법은 활동을 죽이는 것이라고 생각했습니다.

글쎄, 뒤로 버튼을 눌렀을 때 콜백을 알아낼 수 없다. 따라서 onPause()onStop() 콜백을 사용하려고 시도했지만 두 가지 방법 모두 내 응용 프로그램을 강제 종료합니다. 다음은 코드입니다.

public void onPause() {
    this.finish();
}
public void onStop() {
    finish();
}

나는이 여러 변형을 시도했지만, 그들 중 누구도 작동하지 않는 것 같았다. 어떤 아이디어?

https://code.i-harness.com


단순 오버라이드 onBackPressed 메서드 :

    @Override
    public void onBackPressed() {
            super.onBackPressed();
            this.finish();
    }

우선, finish() 는 프로세스를 파괴하지 않고 메모리를 확보합니다. 액티비티 스택에서 액티비티를 삭제하면됩니다. 이 과정을 죽여야 할 것입니다.이 과정은 많은 질문에 응답됩니다 (여러 번 묻기 때문에).

그러나 적절한 대답은 - 하지 마라. 안드로이드 OS는 메모리가 필요할 때 자동으로 메모리를 비 웁니다. 메모리를 확보하지 않으면 사용자가 다시 돌아 오면 앱이 더 빨리 시작됩니다.

이 주제에 대한 훌륭한 글을 보려면 여기참조하십시오 .


활동에 이것을 추가하십시오.

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
    if ((keyCode == KeyEvent.KEYCODE_BACK))
    {
        finish();
    }
    return super.onKeyDown(keyCode, event);
}

public boolean onKeyDown(int keycode, KeyEvent event) {
    if (keycode == KeyEvent.KEYCODE_BACK) {
        moveTaskToBack(true);
    }
    return super.onKeyDown(keycode, event);
}

내 앱이 위 코드로 마감되었습니다.





back