Context trong android là gì

Tôi nhận thấy Ngữ cảnh vào Android, là một trong giữa những điều khó khăn giải thích độc nhất cùng với bất kỳ ai. Khi tôi bước đầu trở nên tân tiến Android cách đó hai năm, tôi không thể quấn rước Ngữ chình họa trong một khoảng chừng thời hạn nhiều năm. Tôi vẫn khôn cùng hoảng sợ về nó tuy nhiên tôi vẫn thực hiện nó một phương pháp liên tiếp, đơn giản và dễ dàng bởi nó là 1 trong trong số những máy cơ bạn dạng vào Android. Vẫn mỗi lúc tôi phải triển khai một số trong những làm việc thưởng thức Bối chình ảnh, tôi Cảm Xúc lo lắng cùng tôi không biết làm cố gắng làm sao nhằm "lấy" đúng.

Bạn đang xem: Context trong android là gì

Bị địa chỉ vì chưng sự hoảng loạn của tôi vào quy trình tiến độ đầu của sự việc nghiệp với tứ cách là bên cải cách và phát triển Android, tôi đưa ra quyết định đãi đằng sự đọc biết của mình về Context và hy vọng nó sẽ giúp ích cho người new bước vào nhân loại Android cùng lừng khừng Context đại diện mang đến điều gì. Tất nhiên nội dung bài viết này cũng được dành mang lại đông đảo ai mong muốn cố gắng hiểu rõ rộng về Context. Bây giờ, hãy bắt đâù.


*
trừu tượng nhỏng ngữ cảnh

Trong tư liệu Android xác nhận, đó là cách chúng ta xác minh Ngữ chình họa.

Giao diện ban bố trái đất về môi trường xung quanh vận dụng. Đây là 1 trong lớp trừu tượng nhưng việc xúc tiến được hỗ trợ bởi khối hệ thống Android. Nó được cho phép truy cập vào các tài nguyên với lớp dành riêng cho áp dụng, tương tự như những lệnh gọi lên cho các chuyển động ở cấp vận dụng nlỗi khởi chạy vận động, dự định phát với nhận, v.v.

trước khi, vấn đề đó ko có rất nhiều ý nghĩa so với tôi. Nhưng thời hạn trôi qua, tôi ban đầu đọc ý nghĩa sâu sắc của chính nó.

Trước hết, hãy lưu ý 3 hàm được sử dụng nhiều tốt nhất để truy xuất Context:

getContext () - trả về Ngữ cảnh được link cùng với Hoạt rượu cồn cơ mà từ bỏ đó được gọi, getApplicationContext () - trả về Ngữ chình ảnh được links cùng với Ứng dụng đựng toàn bộ các chuyển động đang làm việc bên trong nó, getBaseContext () —bao gồm liên quan mang đến ContextWrapper, được tạo nên bao quanh Ngữ cảnh hiện nay có cùng có thể chấp nhận được công ty chúng tôi chuyển đổi hành vi của nó. Với getBaseContext (), chúng ta cũng có thể tìm hấp thụ Ngữ chình họa hiện nay có bên trong lớp ContextWrapper.

getContext ()

Trong getContext () , Context được đính thêm với cùng 1 Activity với vòng đời của chính nó. Chúng ta có thể tưởng tượng Context là lớp đứng đằng sau Activity cùng nó sẽ trường thọ miễn là Activity tồn tại. Thời điểm Hoạt cồn chết, Ngữ chình họa cũng như vậy.

Activity"s Context có những công dụng riêng rẽ mà lại chúng ta cũng có thể thực hiện mang đến toàn bộ đều đồ vật mà lại Android framework hỗ trợ. Đây là list những công dụng nhưng mà Bối chình họa của Activity cung cấp cho việc đó ta:

Load Resource Values,Layout Inflation,Start an Activity,Show a Dialog,Start a Service,Bind lớn a Service,Send a Broadcast,Register BroadcastReceiver.

Trong getApplicationContext () , Ngữ cảnh của chúng ta được lắp cùng với Ứng dụng và vòng đời của nó. Chúng ta có thể coi nó nhỏng một lớp ẩn dưới toàn bộ áp dụng. Miễn là người dùng không giết mổ ứng dụng, áp dụng kia vẫn còn đó sống.

Bây giờ chúng ta có thể từ hỏi, sự khác hoàn toàn thân getContext () cùng getApplicationContext () là gì . Sự khác biệt là Ngữ chình họa của ứng dụng không liên quan mang đến bối cảnh người dùng . Nó Có nghĩa là, chúng ta tránh việc áp dụng nó để làm phồng bố cục, bước đầu vận động giỏi hiển thị vỏ hộp thoại . Về phần còn lại của những chức năng tự Ngữ cảnh của vận động, chúng cũng có sẵn từ Ngữ cảnh của ứng dụng. Vì vậy, danh sách những chức năng mang đến Ngữ chình ảnh của Ứng dụng trông như sau:

Load Resource Values,Start a Service,Bind to lớn a Service,Sover a Broadcast,Register BroadcastReceiver.

Ngữ chình ảnh là một trong lớp (giao diện) đứng sau yếu tắc của nó (Hoạt động, Ứng dụng…) cùng vòng đời của yếu tắc, hỗ trợ quyền truy vấn vào những chức năng khác nhau được hỗ trợ vị môi trường thiên nhiên vận dụng cùng kích cỡ Android.

Các tác dụng được áp dụng nhiều duy nhất vì Context hỗ trợ là cài đặt tài ngulặng (chẳng hạn như chuỗi, ngôn từ, chủ đề…), khởi rượu cồn Hoạt đụng và Thương Mại & Dịch Vụ và bố cục tổng quan tăng vọt.

Tôi hy vọng bây giờ chúng ta đã học được điều nào đấy mới và chúng ta gọi Ngữ chình ảnh tốt rộng một chút ít so với trước lúc gọi bài viết này. Tuy nhiên, có một điều đặc biệt rộng nhưng bạn cần suy xét Khi lựa chọn đúng Ngữ cảnh.

Xem thêm: Hướng Dẫn Cách Dùng Thuốc Tẩy Giun Và Những Thắc Mắc Thường Gặp

Một điều cần chăm chú Khi ra quyết định chọn Ngữ cảnh làm sao

Trong bài viết này, tương đối nhiều lần tín đồ ta đã đề cập đến Context gắn sát cùng với vòng đời của component. Tôi mong muốn nhấn mạnh vấn đề rằng điều đó hết sức đặc trưng buộc phải chú ý vì chưng nếu khách hàng lựa chọn không đúng, nó rất có thể dẫn đến rò rỉ bộ lưu trữ, hoàn toàn có thể dẫn mang lại phá tan vỡ ứng dụng của khách hàng, rất có thể dẫn cho kết quả rất rất đáng bế tắc.

Cách dễ dàng nhất để cho bạn thấy ý tôi bằng phương pháp chọn Ngữ chình ảnh cân xứng là cho chính mình coi một ví dụ.

Thí dụ

Chúng ta có singleton (lớp chỉ có thể có một mô tả trong tổng thể vòng đời ứng dụng) ContextSingleton, đựng tđắm đuối chiếu đến Context.

public class ContextSingleton private static ContextSingleton instance; private Context mContext; public static ContextSingleton getInstance(Context context) if (instance == null) instance = new ContextSingleton(context); return instance; private ContextSingleton(Context context) mContext = context;

Tại sao tôi bắt buộc quan liêu tâm?

Vâng, hãy tưởng tượng các bạn quá qua Bối chình ảnh của Hoạt rượu cồn ở đây. Singleton của công ty chúng tôi, đã đựng tđê mê chiếu đến Hoạt rượu cồn tất cả Ngữ chình họa được trải qua. Dường như, Cửa Hàng chúng tôi biết rằng singleton của công ty chúng tôi đã mãi sau lâu hơn Activity. Điều đó sẽ dẫn mang lại Hoạt đụng sẽ không còn được thu thập rác rưởi Khi bị giết, bởi nó được tmê say chiếu vì ContextSingleton. Điều này chính sẽ dẫn đến nhỉ bộ lưu trữ.

Để giải quyết và xử lý vụ việc này, bọn họ nên nhận thấy rằng singleton của bọn họ tất cả vòng đời tựa như nlỗi vòng đời của vận dụng. Thật là bình bình khi kết luận rằng bằng phương pháp đưa Bối chình họa của Ứng dụng vào singleton, bọn họ vẫn hạn chế được nhiều loại vấn đề này. Để giải quyết nó, bọn họ chỉ cần giữ lại tđắm đuối chiếu của getApplicationContext () được gọi tự ngẫu nhiên ngữ chình họa như thế nào.

public static ContextSingleton getInstance(Context context) if (instance == null) instance = new ContextSingleton(context.getApplicationContext()); return instance;

Trong nội dung bài viết này, tôi sẽ nỗ lực trình diễn bí quyết đọc của mình về Ngữ chình họa trong Android. Chúng tôi cũng đã đề cùa đến các tác dụng cung cấp Bối chình họa chuyển động cùng Ứng dụng, sự khác hoàn toàn của bọn chúng với cách bạn cũng có thể ra quyết định dòng làm sao chúng ta nên áp dụng trong những trường hợp không giống nhau.

Mục tiêu của bài viết này là cố gắng góp những công ty cách tân và phát triển Android bắt đầu phát âm sơ cỗ về Context vào Android là gì với tại vì sao họ sử dụng nó. Vẫn còn các điều cần tò mò tương quan cho Ngữ chình họa cùng kĩ năng của chính nó. Đối với bất kỳ bạn đang cố gắng xem thêm về Ngữ cảnh, tôi có thể ra mắt nội dung bài viết tuyệt đối này của Dave sầu Smith .

Tôi đích thực hy vọng rằng tôi vẫn giúp đỡ bạn làm rõ rộng về Ngữ chình họa vào Android. Nếu có phần như thế nào của nội dung bài viết mà lại bạn Cảm Xúc cực nhọc giải pháp xử lý, hãy comment chúng. Tôi vẫn nỗ lực rất là nhằm update bài viết tùy thuộc vào phản hồi.

Cảm ơn bạn đã chiếm lĩnh thời gian hiểu bài viết của tớ.

Xem thêm: Cách Chiên Cá Cơm Ngon Không Thể Cưỡng

Chúc mừng!

Ngoài ra, tôi luôn luôn chuẩn bị sẵn sàng thừa nhận xét đến các câu chữ Android, bởi vậy trường hợp bạn muốn thủ thỉ, hãy tương tác cùng với tôi bên trên twitter hoặc linkedin .


Chuyên mục: Blogs