Tôi nghĩ rằng có rất nhiều thứ được ghi lại kém trên trang web SDK, đây là một trong số đó. Yêu cầu mà tôi sẽ đưa ra là dường như tốt hơn là mặc định sử dụng bối cảnh ứng dụng và chỉ sử dụng bối cảnh hoạt động khi bạn thực sự cần. Nơi duy nhất tôi từng thấy rằng bạn cần một bối cảnh hoạt động là một hộp thoại tiến trình. SBERG412 tuyên bố rằng bạn phải sử dụng bối cảnh hoạt động cho tin nhắn bánh mì nướng, tuy nhiên các tài liệu Android hiển thị rõ ràng bối cảnh ứng dụng đang được sử dụng. Tôi đã luôn sử dụng bối cảnh ứng dụng cho bánh mì nướng vì ví dụ Google này. Nếu làm như vậy là sai, thì Google đã thả quả bóng ở đây.
Đây là nhiều hơn để suy nghĩ và xem xét:
Đối với tin nhắn bánh mì nướng, Google Dev Guide sử dụng bối cảnh ứng dụng và nói rõ ràng là sử dụng nó:
Thông báo bánh mì nướng
Trong phần hộp thoại của hướng dẫn Dev, bạn thấy rằng AlertDialog.Builder sử dụng bối cảnh ứng dụng và sau đó thanh tiến trình sử dụng bối cảnh hoạt động. Điều này không được Google giải thích.
Đối thoại
Có vẻ như một lý do chính đáng để sử dụng bối cảnh ứng dụng là khi bạn muốn xử lý các thay đổi cấu hình như thay đổi hướng và bạn muốn giữ lại các đối tượng cần bối cảnh như Chế độ xem. Nếu bạn nhìn vào đây: Chạy thay đổi thời gian
Có một sự thận trọng về việc sử dụng bối cảnh hoạt động, có thể tạo ra rò rỉ. Điều này có thể tránh được với bối cảnh ứng dụng với các khung nhìn sẽ được giữ lại (ít nhất đó là sự hiểu biết của tôi). Trong một ứng dụng tôi đang viết, tôi dự định sử dụng bối cảnh ứng dụng vì tôi đang cố gắng giữ một số chế độ xem và những thứ khác về thay đổi định hướng và tôi vẫn muốn hoạt động bị phá hủy và được tạo lại khi thay đổi hướng. Do đó, tôi phải sử dụng bối cảnh ứng dụng để không gây rò rỉ bộ nhớ (xem phần Tránh rò rỉ bộ nhớ). Đối với tôi dường như có rất nhiều lý do tốt để sử dụng bối cảnh ứng dụng thay vì bối cảnh hoạt động và đối với tôi, dường như bạn sẽ sử dụng nó thường xuyên hơn bối cảnh hoạt động. Đó là điều mà nhiều cuốn sách Android tôi đã trải qua dường như làm và đó là những gì nhiều ví dụ về Google mà tôi đã thấy.
Tài liệu Google thực sự làm cho nó có vẻ như sử dụng bối cảnh ứng dụng là hoàn toàn tốt trong hầu hết các trường hợp và trên thực tế xuất hiện thường xuyên hơn so với sử dụng bối cảnh hoạt động trong các ví dụ của họ (ít nhất là các ví dụ tôi đã thấy). Nếu đó thực sự là một vấn đề như vậy khi sử dụng bối cảnh ứng dụng, thì Google thực sự cần nhấn mạnh hơn vào vấn đề này. Họ cần phải làm rõ, và họ cần làm lại một số ví dụ của họ. Tôi sẽ không đổ lỗi hoàn toàn cho các nhà phát triển thiếu kinh nghiệm vì chính quyền (Google) thực sự làm cho nó có vẻ như không phải là vấn đề khi sử dụng bối cảnh ứng dụng.