Theo bài viết "Nguyên tắc cơ bản về ứng dụng", phần "vòng đời thành phần", onResume() luôn được gọi khi Chế độ xem trở nên hoạt động, độc lập với trạng thái trước đó.Android - Hướng dẫn Notepad - vòng đời - một số công việc được thực hiện hai lần?
Trong hướng dẫn Notepad, tập 3, tôi đã tìm thấy một cái gì đó khó hiểu trong NoteEdit.java:
Có một cuộc gọi đến populateFields() trong onCreate() cũng như trong onResume().
Nó sẽ không đủ (hoặc thậm chí tốt hơn) để có nó chỉ trong onResume()?
Trong một ví dụ nhỏ như vậy, nó sẽ không làm bất cứ tác hại nếu populateFields() được thực hiện hai lần, nhưng trong một ứng dụng lớn hơn, mọi thứ có thể khác nhau ...
Cảm ơn và Kính trọng,
Markus N.
Yepp, tôi nghĩ việc gọi nó trong onResume cũng chỉ nên tốt hơn. – icyerasor
không hoàn toàn là câu trả lời, nhưng nếu onStop được gọi và sau đó onRestart, onCreate sẽ không được gọi ... vẫn không giải thích tại sao nó được gọi trong onCreate ở tất cả nesides có lẽ quy ước và khả năng đọc – CrackerJack9
onCreate là tốt để khởi tạo tham chiếu đến nội dung, nhưng bạn muốn lưu phần lớn xử lý trạng thái của mình cho onResume mà bạn lưu ý chính xác là địa điểm thích hợp. Cũng lưu ý bạn nên làm điều đó trong AsyncTask để giữ cho người dùng hài lòng! Sơ đồ trên trang Vòng đời hoạt động của Android là tham chiếu tốt nhất và nếu bạn muốn nghiêm ngặt, hãy lập trình hoạt động của máy trạng thái từ đó, vì có một số sự tinh tế dưới sự kết hợp phù hợp giữa màn hình chuyển đổi người dùng, v.v. –