Context trong android là gì

Tôi nhận thấy Ngữ chình ảnh trong Android, là 1 trong những giữa những điều cực nhọc giải thích độc nhất với bất kỳ ai. lúc tôi bắt đầu phát triển Android cách đó 2 năm, tôi chẳng thể quấn mang Ngữ cảnh vào một khoảng chừng thời hạn lâu năm. Tôi đang cực kỳ hoảng loạn về nó nhưng lại tôi vẫn sử dụng nó một biện pháp liên tục, dễ dàng vì nó là một trong số những vật dụng cơ phiên bản trong Android. Vẫn mỗi khi tôi đề xuất tiến hành một số làm việc yêu cầu Bối chình ảnh, tôi cảm thấy lo lắng với tôi lừng khừng làm gắng làm sao để "lấy" đúng.

You watching: Context trong android là gì

Bị liên quan bởi vì sự bồn chồn của mình trong tiến độ đầu của sự việc nghiệp cùng với tư cách là bên phát triển Android, tôi đưa ra quyết định giãi bày sự phát âm biết của chính mình về Context với mong muốn nó để giúp ích cho tất cả những người new lao vào nhân loại Android và lần chần Context thay mặt mang lại điều gì. Tất nhiên bài viết này cũng để dành mang lại đông đảo ai ước ao nỗ lực hiểu rõ rộng về Context. Bây giờ, hãy bắt đâù.


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

Trong tài liệu Android chấp thuận, đó là bí quyết họ khẳng định Ngữ chình ảnh.

Giao diện thông tin trái đất về môi trường áp dụng. Đây là một trong những lớp trừu tượng mà bài toán thực thi được cung cấp vì chưng khối hệ thống Android. Nó cho phép truy cập vào những tài nguim với lớp dành cho vận dụng, cũng như các lệnh Điện thoại tư vấn lên cho những hoạt động ở cấp áp dụng như khởi chạy hoạt động, ý định phân phát với dìm, v.v.

Lúc đầu, điều này không có không ít chân thành và ý nghĩa so với tôi. Nhưng thời gian trôi qua, tôi ban đầu hiểu chân thành và ý nghĩa của nó.

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

getContext () - trả về Ngữ cảnh được links cùng với Hoạt hễ mà trường đoản cú đó được call, getApplicationContext () - trả về Ngữ chình họa được link với Ứng dụng cất tất cả các hoạt động đang chạy phía bên trong nó, getBaseContext () —có liên quan mang lại ContextWrapper, được tạo ra xung quanh Ngữ chình ảnh hiện tại bao gồm với cho phép Cửa Hàng chúng tôi chuyển đổi hành động của chính nó. Với getBaseContext (), chúng ta cũng có thể search hấp thụ Ngữ chình ảnh hiện tất cả bên trong lớp ContextWrapper.

getContext ()

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

Activity"s Context tất cả những tác dụng riêng cơ mà chúng ta cũng có thể thực hiện mang đến toàn bộ phần đông thiết bị mà lại Android framework cung ứng. Đây là danh sách các công dụng mà lại Bối cảnh của Activity hỗ trợ cho chúng ta:

Load Resource Values,Layout Inflation,Start an Activity,Show a Dialog,Start a Service,Bind khổng lồ a Service,Send a Broadcast,Register BroadcastReceiver.

Trong getApplicationContext () , Ngữ chình họa của chúng ta được đính cùng với Ứng dụng và vòng đời của chính nó. Chúng ta hoàn toàn có thể coi nó như một tờ đằng sau cục bộ vận dụng. Miễn là người dùng không giết mổ áp dụng, áp dụng kia vẫn còn đó sinh sống.

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

Load Resource Values,Start a Service,Bind to a Service,Skết thúc a Broadcast,Register BroadcastReceiver.

Ngữ chình ảnh là 1 trong những lớp (giao diện) che khuất thành phần của chính nó (Hoạt hễ, Ứng dụng…) với vòng đời của yếu tố, hỗ trợ quyền truy cập vào các công dụng khác nhau được hỗ trợ bởi vì môi trường thiên nhiên áp dụng và khuôn khổ Android.

Các tính năng được thực hiện những độc nhất bởi Context hỗ trợ là mua tài nguyên (ví dụ như chuỗi, ngôn từ, nhà đề…), khởi đụng Hoạt rượu cồn cùng Dịch vụ cùng bố cục tăng nhiều.

Tôi hy vọng hiện thời bạn đã học tập được điều nào đấy bắt đầu với chúng ta đọc Ngữ chình ảnh giỏi hơn một chút đối với trước lúc gọi nội dung bài viết này. Tuy nhiên, có một điều đặc biệt quan trọng rộng mà lại bạn cần cân nhắc khi chọn đúng Ngữ chình họa.

See more: Tải Ảnh Liên Minh Huyền Thoại (Lmht) 4K Cực Đẹp Dành Cho Máy Tính

Một điều cần để ý Khi ra quyết định chọn Ngữ cảnh như thế nào

Trong bài viết này, không hề ít lần bạn ta sẽ đề cùa tới Context nối liền cùng với vòng đời của component. Tôi hy vọng nhấn mạnh vấn đề rằng vấn đề này cực kỳ đặc trưng nên chăm chú vì nếu khách hàng chọn sai, nó hoàn toàn có thể dẫn mang lại rò rỉ bộ nhớ lưu trữ, hoàn toàn có thể dẫn cho phá vỡ lẽ áp dụng của người tiêu dùng, có thể dẫn đến tác dụng rất đáng để thất vọng.

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

Thí dụ

Chúng ta tất cả singleton (lớp chỉ có thể có 1 biểu thị trong toàn cục vòng đời ứng dụng) ContextSingleton, đựng tsay đắm chiếu mang đế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 phải quan liêu tâm?

Vâng, hãy tưởng tượng bạn vượt qua Bối cảnh của Hoạt hễ ở chỗ này. Singleton của Cửa Hàng chúng tôi, đang cất tham mê chiếu cho Hoạt đụng bao gồm Ngữ chình ảnh được thông qua. Trong khi, công ty chúng tôi biết rằng singleton của công ty chúng tôi đang mãi sau lâu dài Activity. Điều đó sẽ dẫn mang lại Hoạt rượu cồn sẽ không được tích lũy rác Khi bị giết thịt, bởi vì nó được tham chiếu vày ContextSingleton. Điều này bao gồm vẫn dẫn mang lại thất thoát bộ nhớ.

Để xử lý sự việc này, bọn họ phải phân biệt rằng singleton của bọn họ bao gồm vòng đời giống như nlỗi vòng đời của ứng dụng. Thật là tầm thường khi Kết luận rằng bằng cách đưa Bối cảnh của Ứng dụng trong singleton, chúng ta sẽ khắc chế được loại vấn đề này. Để giải quyết và xử lý nó, bọn họ chỉ cần giữ tmê say chiếu của getApplicationContext () được Call từ bỏ ngẫu nhiên ngữ cảnh 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 đang nỗ lực trình diễn phương pháp hiểu của tôi về Ngữ cảnh trong Android. Chúng tôi đã và đang đề cập tới những chức năng cung ứng Bối chình họa hoạt động và Ứng dụng, sự khác biệt của bọn chúng cùng biện pháp chúng ta cũng có thể quyết định mẫu làm sao bạn nên áp dụng trong những tình huống không giống nhau.

Mục tiêu của nội dung bài viết này là cố gắng góp những nhà cải cách và phát triển Android new đọc sơ cỗ về Context vào Android là gì với vì sao chúng ta sử dụng nó. Vẫn còn những điều cần tìm hiểu liên quan cho Ngữ chình ảnh và năng lực của chính nó. Đối với ngẫu nhiên nhiều người đang cố gắng xem thêm về Ngữ cảnh, tôi rất có thể reviews bài viết hoàn hảo nhất này của Dave Smith .

Tôi thực sự mong muốn rằng tôi sẽ khiến cho bạn nắm rõ hơn về Ngữ chình ảnh vào Android. Nếu tất cả phần nào của nội dung bài viết nhưng mà bạn cảm giác khó cách xử lý, hãy comment chúng. Tôi đang nỗ lực rất là để update nội dung bài viết tùy ở trong vào đánh giá.

Cảm ơn bạn đã chiếm lĩnh thời gian gọi nội dung bài viết của tôi.

See more: Song Ngư Diễn Viên - Diễn Viên Song Ngư Bỏ Cuộc Chơi

Chúc mừng!

Bên cạnh đó, tôi luôn luôn sẵn sàng chuẩn bị nhấn xét về các nội dung Android, vì chưng vậy nếu như bạn muốn nói chuyện, hãy contact với tôi trên twitter hoặc linkedin .


Chuyên mục: Chia sẻ