Tôi đã thử nghiệm với ActivityManager.killBackgroundProcesses trong ứng dụng của mình và nhận thấy điều gì đó thú vị. Tôi hy vọng một người nào đó trên stackoverflow có thể làm sáng tỏ điều này.ActivityManager.killBackgroundProcesses khác với "Buộc dừng"
Vì vậy, nếu tôi bắt đầu một ứng dụng, ví dụ: youtube, trước tiên tôi thấy danh sách trang video, sau đó tôi nhấp vào menu-> Cài đặt, tôi sẽ nhận được trang cài đặt. bây giờ nếu tôi nhấp vào nút trang chủ, sẽ đưa youtube vào nền. càng xa càng tốt. Bây giờ, nếu tôi chạy ActivityManager.killBackgroundProcesses để diệt ứng dụng youtube (hoặc tôi sử dụng Advanced task killer mà tôi tin rằng sử dụng cùng một API), và khi tôi khởi động lại youtube, tôi thấy trang cài đặt, không phải danh sách mặc định của trang video.
Nhưng nếu thay vì thực hiện ActivityManager.killBackgroundProcesses, tôi đi tới cài đặt hệ thống-> quản lý ứng dụng-> Youtube-> Buộc dừng và khi tôi khởi chạy lại youtube, tôi nhận danh sách trang video chứ không phải trang cài đặt. Vì vậy, có vẻ như ActivityManager.killBackgroundProcesses khác với lực dừng vì nó vẫn nhớ nhiệm vụ/trang cuối cùng trước khi nó được đặt nền, trong khi lực dừng lại cho bạn một khởi đầu mới.
Bất cứ ai cũng có giải thích tốt cho nó? Có thể trong mã của tôi để làm "buộc dừng" để có được một khởi đầu mới của ứng dụng?
Rất cám ơn!
Chỉ cần làm rõ, ứng dụng tôi đang cố gắng để giết/khởi động lại là ứng dụng của bên thứ ba, chẳng hạn như gmail, youtube, v.v. mà tôi không thể thay đổi mã của họ. – Safecoder
Tìm thấy từ một bài đăng cũ trên Google. http://groups.google.com/group/android-developers/browse_thread/thread/d8fc993c54fe76e1 Vì vậy, có vẻ như "Buộc dừng" đã được triển khai với restartPackage, nhưng trong 2.2, restartpackage đã được gỡ bỏ về cơ bản và về cơ bản nó giống như killbackgroundprocess . Tôi đoán rằng 2.2 và sau đó phải đang sử dụng một API mới để giết quá trình, nhưng nó không phải là tài liệu ... – Safecoder