AndroidActivity
에서 다시로드하는 것이 좋습니다 ?
가장 좋은 방법은 무엇입니까? this.finish
그런 다음 this.startActivity
활동과 함께 Intent
?
답변
간단하게 사용할 수 있습니다
finish();
startActivity(getIntent());
Activity
자체에서 새로 고치기 위해 .
답변
recreate () 메소드 후 깜박임 을보고 싶지 않은 사람들은 단순히
finish();
overridePendingTransition(0, 0);
startActivity(getIntent());
overridePendingTransition(0, 0);
답변
이것이 환경 설정 변경에서 돌아온 후 활동을 다시로드하기 위해 수행하는 작업입니다.
@Override
protected void onResume() {
super.onResume();
this.onCreate(null);
}
이것은 본질적으로 활동이 다시 그려 지도록합니다.
업데이트 : 더 좋은 방법은 recreate()
메소드 를 호출하는 것입니다. 이로 인해 활동이 다시 작성됩니다.
답변
Intent를 사용하여 활동을 다시로드하기 위해 주어진 이전 답변을 보았습니다. 그것들은 작동하지만 Activity 클래스 자체에 주어진 recreate () 메소드를 사용하여 동일한 작업을 수행 할 수도 있습니다.
이것을 쓰는 대신
// 대화 상자를 닫으면 주 활동을 새로 고칩니다.
Intent refresh = new Intent(this, clsMainUIActivity.class);
startActivity(refresh);
this.finish();
이것은 이것을 작성하여 수행 할 수 있습니다
recreate();
답변
단순히 사용
this.recreate();
이것은 활동에서 onCreate 메소드를 트리거합니다.
답변
서둘러 응용 프로그램 중 하나에서 메시지 목록을 업데이트해야했기 때문에 대화 상자를 닫기 전에 기본 UI 활동을 새로 고쳤습니다.이 작업을 수행하는 더 좋은 방법이있을 것입니다.
// Refresh main activity upon close of dialog box
Intent refresh = new Intent(this, clsMainUIActivity.class);
startActivity(refresh);
this.finish(); //
답변
Android에는 활동의 생성 및 소멸을 처리하는 프로세스 관리 시스템이 포함되어있어 수동으로 활동을 다시 시작하면 얻을 수있는 이점을 크게 무효화합니다. 이에 대한 자세한 내용은 Application Fundamentals 에서 확인할 수 있습니다.
그러나 모범 사례는 onPause 및 onStop 메소드가 활동 요구를 절대적으로 최소화하기 위해 onLowMemory 를 보유하고 사용할 필요가없는 모든 자원을 해제하도록하는 것 입니다.