2012-10-11 23 views
7

Tôi đã theo dõi bốn chủ đề này Creating a Fragment, Handling the Fragment Lifecycle, Managing the Activity LifecyclePausing and Resuming an Activity. Vì vậy, tôi có chút nghi ngờ về điều này. Câu hỏi của tôi làĐoạn đời và vòng đời hoạt động của phụ huynh cùng nhau

  1. Nếu A Activity gọi B Activity qua Intent nhưng A không gọi finish() phương pháp sau đó A sẽ ở trạng thái Pause nếu B là Transparent hoặc SemiTransparent và trong Stop nhà nước nếu B là Opaque. Tôi có đúng không?
  2. Nếu A Activity chứa Fragment F sau đó nếu A sẽ đi đến Pause nhà nước thì F sẽ đi đến Pause nhà nước và nếu A sẽ được ở Stop nhà nước thì F sẽ được ở Stop trạng thái quá. Tôi có đúng không?
  3. Nếu A gọi B Activity và B là Transparent thì A cũng sẽ ở trạng thái Pause và F cũng vậy. Nếu B gọi finish() thì A sẽ đến trạng thái Resume nhưng điều gì sẽ xảy ra với F? nó sẽ đến để tiếp tục từ tạm dừng? Nếu đó là sau đó làm thế nào và những gì bước bởi vì tôi đã không nhìn thấy bất kỳ liên kết trực tiếp trong Fragment chu kỳ cuộc sống mà chỉ onPause() đến onResume() trực tiếp như hoạt động có thể làm.

    Hy vọng tôi có thể hỏi tôi muốn gì. Xin lỗi vì Englsh xấu của tôi.

Trả lời

3
  1. Bạn không thể chắc chắn rằng chỉ onPause sẽ được kêu gọi A nếu B là bán trong suốt hoặc một phần có thể nhìn thấy như tôi hiểu nó:

    Tạm dừng

    Một hoạt động ở phía trước và tập trung, nhưng điều này vẫn còn hiển thị. Có nghĩa là, một hoạt động khác hiển thị trên đầu trang của hoạt động này và hoạt động đó một phần trong suốt hoặc không che phủ toàn bộ màn hình . Hoạt động bị tạm dừng hoàn toàn hoạt động (đối tượng Activity được giữ lại trong bộ nhớ, nó duy trì tất cả thông tin trạng thái và thành viên và vẫn được đính kèm với trình quản lý cửa sổ), nhưng có thể bị giết bởi hệ thống trong các tình huống bộ nhớ cực thấp.

  2. Vâng, bạn là đúng:

    Vòng đời của hoạt động, trong đó đoạn sống trực tiếp ảnh hưởng đến vòng đời của mảnh, như vậy mà mỗi vòng đời gọi lại cho kết quả hoạt động trong một gọi lại tương tự cho mỗi đoạn . Ví dụ: khi hoạt động nhận được onPause(), mỗi đoạn trong hoạt động sẽ nhận được onPause().

    Tuy nhiên, điều ngược lại là không đúng, có nghĩa là nếu một đoạn nhận được onStop, điều đó không đảm bảo rằng onStop của Hoạt động sẽ được gọi.

  3. Tôi không hoàn toàn chắc chắn ý của bạn về câu cuối cùng của bạn hoặc cách bạn đã thử nghiệm điều này. Theo tài liệu Fragment:

    public void onResume()

    gọi khi phân đoạn được hiển thị cho người dùng và tích cực hoạt động. Điều này thường được gắn với Activity.onResume của vòng đời của Hoạt động có chứa

    Điều này nói chung tùy thuộc vào cách phân đoạn được hoạt động xử lý.

+0

Thực ra tôi đã yêu cầu trong tuyên bố cuối cùng rằng chúng ta biết rằng khi một Hoạt động chuyển từ onPause sang onResume, nó đi trực tiếp hoặc onStop để tiếp tục nó sẽ chuyển sang onStop -> onRestart -> onStart-> onResume. Nhưng những gì abt các mảnh có chứa bên trong hoạt động? bạn có thể thấy trong vòng đời của đoạn mã onPause-> onStop -> onDestroyView -> onCreateView -> onActivityCreated -> onStart -> onResume. S IT SAU NÀY THEO D THI NÀY? NẾU KHÔNG THÌ SAO LÀ CUỘC SỐNG CUỘC SỐNG NÀY? – MGDroid

0
  1. Nếu Một cuộc gọi Hoạt động Hoạt động B thông qua Ý định nhưng A không gọi kết thúc() phương pháp sau đó A sẽ được ở trạng thái Tạm dừng nếu B là Transparent hoặc nửa công khai và trong trạng thái dừng nếu B là Opaque. Tôi có đúng không?

    Có đúng

  2. Nếu A Hoạt động chứa Fragment F sau đó nếu A sẽ đi đến Pause nhà nước thì F sẽ đi đến Pause nhà nước và nếu A sẽ được ở trạng thái dừng thì F sẽ được ở trạng thái dừng quá . Tôi có đúng không?

    Có đúng

  3. Nếu A gọi Hoạt động B và B là Transparent thì A sẽ được ở trạng thái Tạm dừng và F sẽ quá. Nếu B gọi kết thúc() thì A sẽ đến trạng thái Resume nhưng điều gì sẽ xảy ra với F? nó sẽ đến để tiếp tục từ tạm dừng? Nếu đó là sau đó như thế nào và những gì bước bởi vì tôi đã không nhìn thấy bất kỳ liên kết trực tiếp trong vòng đời Fragment chỉ ra onPause() để onResume() trực tiếp như hoạt động có thể làm.

gì bạn hiểu là đúng, ngay cả trong tình huống này cũng đoạn sẽ được chuyển từ onPause để onResume trạng thái giống như một hoạt động. Nhưng tiếc là không có nhiều tài liệu về điều này trong android nhà phát triển. Điều này có thể là do họ muốn tránh các biểu đồ phức tạp có thể gây nhầm lẫn hơn.

+0

Không phải là câu trả lời, tôi chỉ tìm thấy lặp lại các câu hỏi. – akash89

Các vấn đề liên quan