Tôi có một hoạt động gọi là HomeActivity có SurfaceView và hiển thị ảnh xem trước của máy ảnh. Hoạt động này rất nặng và cảm thấy chậm nếu bạn bắt đầu/khởi động lại nó.onCreate luôn được gọi nếu điều hướng trở lại với mục đích
Vì vậy, tôi đã thực hiện một số điều tra và phát hiện ra, bằng cách nào đó phương thức onCreate luôn được gọi. Theo tôi, điều này không nên xảy ra nếu Hoạt động đã được bắt đầu?
documentation nói: Được gọi khi hoạt động được tạo lần đầu tiên. Đây là nơi bạn nên làm tất cả các thiết lập tĩnh bình thường của bạn: tạo các khung nhìn, liên kết dữ liệu với các danh sách, vv. Phương thức này cũng cung cấp cho bạn một Gói chứa trạng thái được đông lạnh trước đó của hoạt động, nếu có. Luôn theo sau bởi onStart().
Dưới đây là phương pháp, xử lý sẽ trở lại:
protected void gotoHome() {
final Intent intent = new Intent(SomeOtherActivity.this, HomeActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
Edit:
Dưới đây là làm thế nào tôi rời khỏi HomeActivity ... không có gì đặc biệt:
final Intent i = new Intent(HomeActivity.this, SomeOtherActivity.class);
startActivity(i);
Đảm bảo bạn không hoàn thành() HomeHoạt động khi bắt đầu Hoạt động khác từ nó. – Egor
onCreat() gọi khi bạn đang quay trở lại với phương thức 'gotoHome()'? –
@Egor Tôi không gọi kết thúc() – Mark