Tất cả chúng ta đều biết bài học "đa nhiệm = khả năng thực hiện nhiều quy trình cùng một lúc". Chúng tôi sử dụng nó trong máy tính của mình mà không hề nhận thức được sự hiện diện của nó. Việc chuyển đổi giữa các ứng dụng hoặc cửa sổ của một ứng dụng diễn ra (đối với chúng tôi) trong thời gian thực và chúng tôi coi khả năng này của hệ điều hành là điều hiển nhiên.
Nhiệm vụ khác
Hệ điều hành phân bổ bộ xử lý cho tất cả các ứng dụng trong những khoảng thời gian nhỏ. Những khoảng thời gian này quá nhỏ nên chúng ta không thể nhận thấy chúng, do đó có vẻ như tất cả các ứng dụng đang sử dụng bộ xử lý cùng một lúc. Chúng ta có thể nghĩ vậy đa nhiệm trên iOS 4 hoạt động giống hệt nhau Không phải như thế. Lý do chính tất nhiên là dung lượng pin. Nếu tất cả các ứng dụng thực sự vẫn chạy ở chế độ nền, có lẽ chúng ta sẽ phải tìm kiếm một ổ cắm trong vài giờ nữa.
Hầu hết các ứng dụng tương thích với iOS 4 đều được đưa vào "chế độ treo" hoặc chuyển sang chế độ ngủ sau khi nhấn nút Home. Một sự tương tự có thể là đóng nắp máy tính xách tay và ngay lập tức chuyển sang chế độ ngủ. Sau khi mở nắp, máy tính xách tay sẽ thức dậy và mọi thứ vẫn ở trạng thái giống hệt như trước khi đóng nắp. Hơn nữa, có những ứng dụng mà việc nhấn nút Home sẽ khiến chúng kết thúc. Và qua đó chúng tôi muốn nói đến một sự chấm dứt thực sự. Các nhà phát triển có thể lựa chọn sử dụng phương pháp nào trong số những phương pháp này.
Nhưng có một loại ứng dụng khác. Đây là những ứng dụng thực sự chạy ở chế độ nền, ngay cả khi bạn đang làm điều gì đó hoàn toàn khác trên iDevice của mình. Skype là một ví dụ điển hình vì nó cần kết nối internet liên tục. Các ví dụ khác có thể là các ứng dụng phát nhạc nền (Pandora) hoặc các ứng dụng yêu cầu sử dụng GPS liên tục. Có, những ứng dụng này làm tiêu hao pin của bạn ngay cả khi chạy ở chế độ nền.
Ngủ hay bắn hạ?
Một số ứng dụng tương thích với iOS 4 cần được chuyển sang chế độ ngủ (chuyển sang "chế độ treo") sau khi nhấn nút Home, tiếp tục chạy ở chế độ nền. Apple đã cho các nhà phát triển đúng mười phút để ứng dụng hoàn thành nhiệm vụ của mình, bất kể đó là nhiệm vụ gì. Giả sử bạn đang tải xuống một tệp trong GoodReader. Đột nhiên có người muốn gọi cho bạn và bạn chỉ cần chấp nhận cuộc gọi quan trọng đó. Cuộc gọi không kéo dài quá mười phút, bạn sẽ quay lại ứng dụng GoodReader. Tệp có thể đã được tải xuống hoặc vẫn đang được tải xuống. Nếu cuộc gọi kéo dài hơn mười phút thì sao? Ứng dụng, trong trường hợp của chúng tôi là GoodReader, sẽ phải dừng hoạt động của nó và thông báo cho iOS rằng nó có thể được chuyển sang chế độ ngủ. Nếu không, cô ấy sẽ bị chính iOS chấm dứt không thương tiếc.
Bây giờ bạn đã biết sự khác biệt giữa đa nhiệm "di động" và "máy tính để bàn". Trong khi tính linh hoạt và tốc độ chuyển đổi giữa các ứng dụng rất quan trọng đối với máy tính thì thời lượng pin luôn là điều quan trọng nhất đối với thiết bị di động. Đa nhiệm cũng phải được điều chỉnh cho phù hợp với thực tế này. Vì vậy, sau khi đọc bài viết này, nếu nhấn nút Home 2 lần, bạn sẽ không còn thấy “thanh ứng dụng chạy ngầm” nữa mà thực chất chỉ là “danh sách các ứng dụng được sử dụng gần đây”.
Tác giả: Daniel HruškaNguồn: onemoretap.com
hmm, thú vị :) Tôi luôn nghĩ rằng nó luôn giống với cách nó có thể được thực hiện trên Unix. Rằng ứng dụng đã được phân bổ thời gian CPU bằng 10 và quy trình chỉ nằm trong bộ nhớ, tất cả tài nguyên đã được phân bổ. thế là mình phải nhấn home XNUMX lần rồi dừng ứng dụng ngay để xóa. Vậy điều này có nghĩa là ngay cả khi có biểu tượng ứng dụng ở bảng ẩn bên dưới thì ứng dụng đó vẫn bị đóng từ lâu (sau XNUMX phút)?
Trong danh sách phía dưới, chỉ có những ứng dụng được mở gần đây nhất, trong đó một số ứng dụng vẫn có thể chạy, một số bị tạm dừng và một số bị chấm dứt hoàn toàn. Việc xóa ứng dụng khỏi danh sách theo cách thủ công có "tác dụng phụ" là nếu nó đang chạy (hoặc bị treo) thì nó sẽ bị chấm dứt.
Ứng dụng phải tự thông báo về 10 phút bổ sung đó và không đảm bảo rằng nó sẽ nhận được chúng.
Chà, điều đó không giúp tôi thoát khỏi nỗi ám ảnh về việc đóng ứng dụng khỏi danh sách (nếu nó vô tình ăn tài nguyên thì sao? :-D)
Tôi hiểu rằng 10 phút dành cho các ứng dụng cần hoạt động ở chế độ nền và không thuộc danh mục "skype, GPS và phát lại nhạc". Các ứng dụng khác chuyển sang chế độ treo và ở trong bộ nhớ cho đến khi cần bộ nhớ cho những việc khác.
Chế độ tạm dừng có ưu điểm là nếu sau đó bạn cần tắt ứng dụng, bạn sẽ không mất dữ liệu của ứng dụng đó, mọi thứ sẽ được lưu tại thời điểm chuyển sang chế độ tạm dừng.
hoặc, trong trường hợp phát lại, tương đương với lệnh bg / fg
Và còn trình phát hoặc các ứng dụng khác chạy ẩn trong khoảng thời gian nào đó thì sao? Ý tôi là, tôi có được "chọn" làm nhà phát triển không, hay điều này phải được Apple chấp thuận bằng cách nào đó?
Để ứng dụng thực sự chạy ở chế độ nền trong thời gian không giới hạn, ứng dụng phải thực hiện (đăng ký) một trong các hành động sau:
– Sử dụng dịch vụ Định vị (GPS)
- Phát nhạc ở chế độ nền
– Sử dụng VOIP (Thoại qua IP)
Theo tiêu đề (xem chi tiết), tôi mong đợi bài viết sẽ có phần giải thích sâu rộng hơn với các chi tiết kỹ thuật. Điều này trông giống như một sự hoàn hảo cho bài viết. Nếu là Perex thì khi nào có phần tiếp theo? Bạn có thể được hoàn lại tiền không? :-)
và bạn muốn biết chi tiết hơn về điều gì?
Từ một bài viết có tiêu đề "dưới mui xe", tôi mong đợi một mô tả kỹ thuật chi tiết (ví dụ: tác giả có thể phân tích chi phí hoạt động khi chuyển đổi ứng dụng hoặc cách xử lý quyền truy cập đồng thời vào tài nguyên hệ thống), so sánh với các mô hình khác (ví dụ: với iPhone đã jailbreak). Lý tưởng nhất là sao lưu nó bằng một số phép đo. Tôi chỉ đơn giản mong đợi nhiều hơn từ một bài báo có tiêu đề "ẩn ý" hơn là mô tả rất hời hợt này.
Có icq client nào chạy ngầm liên tục như skype mà không bị rớt kết nối không?
ứng dụng có 10 giây để chuyển sang chế độ tạm dừng chứ không phải 10 phút... và trong quá trình này, một số bộ phận có thể "treo" hoặc không "treo" trên các dịch vụ phụ trợ, một số bộ phận trong số đó đã được liệt kê ở trên - đó là điều mà Apple gọi là "thông minh". "đa nhiệm.... sau đó hệ thống đã bắn hạ cô ấy
Ứng dụng có thể cần thêm thời gian nếu nội dung nào đó đang được tải xuống, tải lên hoặc xử lý. Nó không liên quan gì đến GPS, VoIP hay phát nhạc, chạy ở chế độ tối giản trong thời gian không giới hạn.