Cách xử lý Android
Windows cho phép các ứng dụng máy tính để bàn vẫn chạy dù chúng có hiển thị hay không, trong khi iOS của Apple chỉ cho phép các ứng dụng thực hiện một số tác vụ hạn chế trong nền. Android nằm ở đâu đó ở giữa - các ứng dụng chạy ở nền trước được ưu tiên, nhưng các ứng dụng có nhiều quyền tự do hơn để chạy trong nền so với trên iOS.
Chúng ta sẽ xem chính xác cách Android quản lý các ứng dụng và quy trình đang chạy trên điện thoại hoặc máy tính bảng của bạn, làm sáng tỏ những gì đang diễn ra trong nền.
Phân cấp vòng đời quy trình
Một quá trình trên Android có thể ở một trong năm trạng thái khác nhau tại bất kỳ thời điểm nào, từ quan trọng nhất đến quan trọng nhất:
- 1. Quá trình tiền cảnh: Ứng dụng bạn đang sử dụng được coi là quá trình tiền cảnh. Các quy trình khác cũng có thể được coi là các quy trình tiền cảnh - ví dụ: nếu chúng tương tác với quy trình hiện đang ở phía trước. Chỉ có một vài quy trình nền trước tại bất kỳ thời điểm nào.
- 2. Quá trình hữu hình: Một quy trình có thể nhìn thấy không ở phía trước, nhưng vẫn ảnh hưởng đến những gì bạn thấy trên màn hình. Ví dụ: quy trình nền trước có thể là một hộp thoại cho phép bạn thấy một ứng dụng đằng sau nó - ứng dụng hiển thị trong nền sẽ là một quá trình hiển thị.
- 3. Quy trình dịch vụ: Một quy trình dịch vụ không bị ràng buộc với bất kỳ ứng dụng nào hiển thị trên màn hình của bạn. Tuy nhiên, nó đang làm một cái gì đó trong nền, chẳng hạn như phát nhạc hoặc tải xuống dữ liệu trong nền. Ví dụ: nếu bạn bắt đầu phát nhạc và chuyển sang một ứng dụng khác, thì việc phát nhạc ở chế độ nền đang được xử lý bởi một quy trình dịch vụ.
- 4. Quá trình nền: Quá trình nền hiện không hiển thị cho người dùng. Họ không có tác động đến trải nghiệm sử dụng điện thoại. Tại bất kỳ thời điểm nào, nhiều quy trình nền hiện đang chạy. Bạn có thể nghĩ về các quá trình nền này như các ứng dụng đã tạm dừng của Wikipedia. Chúng được lưu trong bộ nhớ để bạn có thể nhanh chóng tiếp tục sử dụng chúng khi bạn quay lại với chúng, nhưng chúng không sử dụng thời gian CPU có giá trị hoặc các tài nguyên không có bộ nhớ khác.
- 5. Quy trình trống: Một quy trình trống không chứa bất kỳ dữ liệu ứng dụng nào nữa. Nó có thể được giữ xung quanh cho các mục đích lưu trữ để tăng tốc độ khởi chạy ứng dụng sau này hoặc hệ thống có thể giết nó khi cần thiết.
Ví dụ: giả sử bạn bật điện thoại và mở ứng dụng nghe nhạc. Trong khi bạn sử dụng nó, ứng dụng âm nhạc sẽ là một quá trình tiền cảnh. Khi bạn bắt đầu phát nhạc và rời khỏi ứng dụng âm nhạc, âm nhạc sẽ tiếp tục phát dưới dạng quy trình dịch vụ.
Hãy xem Angry Birds như một ví dụ khác. Angry Birds sẽ là một quá trình tiền cảnh trong khi bạn đang chơi nó. Khi bạn rời Angry Birds và vào ứng dụng Gmail để xem email của mình, Angry Birds sẽ trở thành một quá trình nền (vì nó không phải làm bất cứ điều gì trong nền), trong khi Gmail trở thành quá trình tiền cảnh. Khi bạn chuyển trở lại Angry Birds, nó sẽ trở thành quá trình tiền cảnh của bạn và trò chơi sẽ tiếp tục nhanh chóng. Angry Birds không sử dụng tài nguyên trong nền - ngoài một số RAM - nhưng nó sẽ tiếp tục nhanh chóng vì nó vẫn được lưu trong bộ nhớ cache và sẵn sàng để tiếp tục.
Quy trình quản lý Android tự động
Android thực hiện tốt việc tự động quản lý các quy trình này, đó là lý do tại sao bạn không cần một kẻ giết người nhiệm vụ trên Android.
Khi Android cần nhiều tài nguyên hệ thống hơn, nó sẽ bắt đầu giết chết các quy trình ít quan trọng nhất trước tiên. Android sẽ bắt đầu tiêu diệt các tiến trình trống và nền để giải phóng bộ nhớ nếu bạn sắp hết. Nếu bạn cần thêm bộ nhớ - ví dụ: nếu bạn đang chơi một trò chơi đòi hỏi đặc biệt trên thiết bị không có nhiều RAM, Android sẽ bắt đầu hủy các quy trình dịch vụ, do đó việc tải xuống tệp nhạc và nhạc của bạn có thể dừng.
Trong hầu hết các trường hợp, Android thực hiện tất cả điều này mà không cần bạn phải lo lắng về nó. Android sử dụng thông minh RAM của thiết bị của bạn để lưu trữ các ứng dụng và dữ liệu khác, bởi vì không có điểm nào khiến RAM của bạn trống.
Tất nhiên, Android cung cấp cho các ứng dụng rất nhiều tính linh hoạt để chúng có chỗ để xử lý sai. Ví dụ: một ứng dụng được mã hóa kém có thể bắt đầu quá trình dịch vụ luôn chạy ở chế độ nền, sử dụng hết thời gian CPU của bạn và giảm đáng kể thời lượng pin của bạn.
Một điều thú vị bạn sẽ nhận thấy trong các ứng dụng chống vi-rút như Avast! đối với Android là ứng dụng chống vi-rút sử dụng biểu tượng thông báo. nếu bạn cố gắng tắt biểu tượng thông báo, Avast! sẽ đề nghị chống lại nó. Bằng cách có một biểu tượng thông báo hiển thị, Avast! làm cho nó trở thành ứng dụng ưu tiên cao hơn, ngăn Android coi đó là ứng dụng nền và giết chết nó.
Ứng dụng Android có thể bắt đầu phản ứng với các sự kiện
Các ứng dụng Android cũng có thể bắt đầu để đáp ứng với các sự kiện. Ví dụ: nhà phát triển có thể lập trình ứng dụng của họ tự động chạy khi khởi động và chạy dịch vụ trong nền. Các ứng dụng có thể bắt đầu để đáp ứng với nhiều sự kiện khác, chẳng hạn như khi bạn chụp ảnh, khi kết nối dữ liệu của bạn thay đổi, v.v. Điều này cho phép các ứng dụng thực hiện các hành động để đáp ứng với các sự kiện mà không cần chạy liên tục trong nền.
Quy trình quản lý
Bạn không cần phải quản lý các quy trình theo cách thủ công, nhưng có một vài cách để làm điều đó nếu bạn muốn. Bạn có thể sử dụng menu đa nhiệm trên Android 4.0 trở lên để thực hiện một số quy trình quản lý cơ bản. Để truy cập, chạm vào nút đa nhiệm chuyên dụng trên thiết bị Nexus. Trên các thiết bị Android khác, bạn có thể phải nhấn đúp hoặc bấm lâu vào nút Home.
Các ứng dụng được hiển thị trong menu có khả năng ở trạng thái nền của chế độ nền tảng. Bạn có thể tiêu diệt chúng bằng cách vuốt một ứng dụng sang trái hoặc phải, ứng dụng này sẽ xóa ứng dụng đó khỏi bộ nhớ của thiết bị. Điều này không cần thiết, nhưng có thể giúp ích khi bạn muốn nhanh chóng giết một ứng dụng - có lẽ đó là hành vi sai.
Bạn cũng có thể vào màn hình Cài đặt, chạm vào Ứng dụng, nhấn vào một ứng dụng và sử dụng nút Buộc dừng để giết một ứng dụng hoạt động sai.
Android dựa trên Linux và mọi ứng dụng trên Android được gán cho một ID người dùng Linux khác - hoặc tài khoản người dùng. Điều này cô lập các ứng dụng với nhau. Nếu bạn root thiết bị của mình, ứng dụng có thể thoát khỏi hộp cát người dùng của họ và chạy với quyền root.
Tín dụng hình ảnh: JD Hancock trên Flickr