iOS luôn cài đặt lại các ứng dụng của tôi sau một thời gian khi chúng được thu nhỏ. Làm thế nào tôi có thể thay đổi điều đó?
9
Ví dụ: Tôi đang chơi một trò chơi và dừng lại một phút để gửi tin nhắn trên WhatsApp. Khóa điện thoại trong vài phút và khi tôi điều hướng qua các ứng dụng "đóng băng" và chọn trò chơi (trò chơi vẫn có màn hình cuối cùng khi nó được thu nhỏ), nó sẽ mở ra từ màn hình giật gân, được đặt lại!
Và nó không xảy ra chỉ với các trò chơi. Ngay cả Facebook, Twitter và các ứng dụng khác.
Bạn không thể thay đổi điều đó, chỉ nhà phát triển ứng dụng mới có thể (bằng cách thêm mã để xử lý việc dỡ tải ứng dụng và duy trì trạng thái). Hầu hết các trò chơi không, không may.
Các dịch vụ dựa trên web tốt hơn nhiều so với các ứng dụng khi ghi nhớ trang của người dùng, vì thông thường nó được lưu trữ trong url tự động, vì vậy nhà phát triển không cần phải thực hiện bất cứ điều gì. Trong khi hầu hết các nhà phát triển ứng dụng không bao giờ bận tâm đến việc nhớ trạng thái điều hướng của người dùng.
Đây thực sự là một quan niệm sai lầm phổ biến trong iOS.
Các ứng dụng không được "thu nhỏ": chúng bị treo trong khi chúng ở chế độ nền (trừ một số trường hợp, đáng chú ý là các ứng dụng điều hướng và âm nhạc). Hơn nữa, các ứng dụng bị đánh thuế tài nguyên (như trò chơi) thường bị đóng hoàn toàn ngay sau khi bị treo để iOS có thể lấy lại số lượng lớn bộ nhớ mà các ứng dụng này thường dự trữ.
Câu trả lời cho vấn đề này, như @nohillside đã đề cập, là nhà phát triển cần triển khai chức năng để lưu trạng thái của trò chơi khi bị tạm dừng, sau đó khôi phục trạng thái bị treo khi ứng dụng thức dậy một lần nữa.
Điều này có thể khó khăn cho nhiều ứng dụng, nhưng đặc biệt là các trò chơi. Vì vậy, nhiều trò chơi chỉ đơn giản là không làm điều đó.
Người dùng không thể làm gì để thay đổi chức năng này, vì những ràng buộc này được hệ điều hành iOS của điện thoại thi hành, do đó bị hạn chế bởi phần cứng điện thoại.
Theo kinh nghiệm của tôi, có hai lần ứng dụng không tiếp tục chạy (hay nói cách khác là hiển thị màn hình giật gân khi tôi khởi chạy lại).
Đầu tiên là nhà phát triển kém, hoặc thậm chí không thực hiện việc tạm dừng ứng dụng. Có một số ứng dụng luôn thoát khi tôi nhấn nút home hoặc đặt lại khi nó ở tính năng cụ thể. (Mặc dù trong cửa hàng ứng dụng gần đây tôi chưa thấy một ứng dụng nào ngoại trừ một số ứng dụng tổ chức công cộng có đánh giá trung bình 1 ~ 2)
Thứ hai là hạn chế phần cứng - mặc dù nhà phát triển đã triển khai đúng tính năng treo, đôi khi iOS quyết định bỏ nó, vì nhiều lý do vì thiếu bộ nhớ (đây thực sự là lý do chính khiến các idevice trước đó không hỗ trợ tạm dừng ứng dụng trong thời đại 3G / S ), quản lý thời gian pin.
Vì lý do đầu tiên, bạn có thể viết đánh giá trên Appstore - đó là một trong những lý do ảnh hưởng nhất đến tiến trình phát triển ứng dụng.
Vì lý do thứ hai, đó là một giải pháp ngu ngốc nhưng bạn có thể mua một phần cứng mới có nhiều RAM hơn và nó sẽ giảm khả năng các ứng dụng bị tạm dừng từ iOS (Và giảm thời gian khởi chạy lại ứng dụng). Hoặc, nếu bạn không muốn làm như vậy, bạn có thể yêu cầu iOS tạm dừng một số ứng dụng không quan trọng bằng cách vuốt phần xem trước của ứng dụng lên trong chế độ đa nhiệm, có thể làm giảm khả năng các ứng dụng bạn thực sự sử dụng bị iOS giết chết.
Tôi không biết cách thêm tài liệu tham khảo bổ sung vì hầu hết lý luận của phản hồi phụ thuộc vào kinh nghiệm cá nhân của tôi. Phần 3GS đến từ iPod Touch 2G 8GB iOS 3.x đã bẻ khóa của tôi, nơi tôi đã cố gắng chạy nền một ứng dụng bằng cách bẻ khóa, nó chỉ có thể xử lý 2 ~ 3 ứng dụng nền do RAM nhỏ (không thể nhớ chính xác số lượng nhưng ít hơn hơn 100 MB RAM cho ứng dụng tho). Phần đánh giá của Appstore xuất phát từ kinh nghiệm công việc của tôi từ một công ty khởi nghiệp (và nhiều phản hồi của nhà phát triển từ ứng dụng phổ biến nơi họ xin lỗi vì đánh giá tiêu cực). Giải pháp thứ hai đến từ hầu hết mọi cộng đồng tip táo.