Tôi đã tự hỏi liệu có thể đặt mức độ ưu tiên của một số IntentService
như bạn có thể với một số Thread
hay không. Cho đến nay tôi đã không tìm thấy bất cứ điều gì.Cách đặt Mức độ ưu tiên của IntentService trong Android
Trả lời
HandlerThread
sử dụng IntentService
không được tiếp xúc với SDK. Nó được đặt thành ưu tiên là Process.THREAD_PRIORITY_DEFAULT
.
Lưu ý rằng IntentService
là 143 dòng mã, bao gồm khoảng trắng và nhận xét, vì vậy bạn có thể xem xét việc nhân bản nó để có một ưu tiên bạn tìm kiếm.
Tôi đã thay đổi mức độ ưu tiên của IntentService bằng cách sử dụng: "android.os.Process.setThreadPriority (android.os.Process.THREAD_PRIORITY_BACKGROUND);" trong hàm tạo của lớp IntentService.
Trong trường hợp của tôi nó đã được thay đổi từ: "Process.THREAD_PRIORITY_DEFAULT", đó là zero (0) để "Process.THREAD_PRIORITY_BACKGROUND", đó là mười (10) và kết quả là nhìn thấy được.
Bạn đang thay đổi mức độ ưu tiên của chuỗi tạo IntentService, không phải ưu tiên của chuỗi là trình xử lý. Xem câu trả lời được chấp nhận để biết thêm thông tin. – espinchi
Bạn có thể đặt Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND)
trong phương thức onHandleIntent()
về dịch vụ ý định của mình.
Giải pháp của CommonsWare cũng hoạt động. Điều này là đơn giản, mặc dù.
Chỉ cần làm rõ - theo mặc định IntentService
mức độ ưu tiên là mặc định- Process.THREAD_PRIORITY_DEFAULT
vì sử dụng HandlerThread
Nội bộ. Bạn có thể sử dụng Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND)
trong OnHandleIntent() hoặc bất kỳ CommonsWare nào được đề xuất trong câu trả lời.
một số người đã nêu điều này là bug. và cũng có sẵn patch cho việc này.
- 1. Thư PHP() - Cách đặt mức độ ưu tiên?
- 2. Cài đặt mức độ ưu tiên (ưu tiên) không có hiệu lực trên Linux
- 3. Linux & C: Cách đặt mức độ ưu tiên đọc tệp trong chương trình đa tiến trình?
- 4. Thay đổi mức độ ưu tiên trong Log4j
- 5. thay đổi mức độ ưu tiên của chuỗi gốc trên Android bằng c/C++
- 6. Mức độ ưu tiên của chủ đề và Độ chính xác của chủ đề
- 7. Làm cách nào để khởi chạy từ Eclipse với mức độ ưu tiên Thấp trong Windows?
- 8. Làm cách nào để thay đổi mức độ ưu tiên của một quy trình?
- 9. Cách an toàn để thay đổi mức độ ưu tiên của NSOperation
- 10. Cách sửa đổi mức độ ưu tiên của hàng đợi GCD tùy chỉnh?
- 11. Có cách nào để đặt mức độ ưu tiên của chuỗi nền được sử dụng bởi một SwingWorker không?
- 12. Thay đổi mức độ ưu tiên của chuỗi tăng trong Windows
- 13. Mức độ ưu tiên trong cách giải quyết lựa chọn Go
- 14. C# có thể thay đổi mức độ ưu tiên của việc mua khóa không?
- 15. Làm cách nào để thay đổi mức ưu tiên của thư trong MSMQ?
- 16. Nhiều trường hợp của IntentService trong Android
- 17. Làm cách nào để khởi chạy quy trình có mức độ ưu tiên thấp? C#
- 18. ưu tiên quá trình thay đổi trong android
- 19. Đặt mức ưu tiên chỉ số bộ điều hợp mạng trong Windows 7
- 20. Express.js: cách tạo express.static có mức độ ưu tiên cao hơn phần còn lại của ứng dụng?
- 21. Đặt mức nhật ký Android
- 22. Chạy tác vụ ở chế độ nền với mức ưu tiên CPU thấp hơn
- 23. Có cách nào để đặt mức ưu tiên tải của hình ảnh trên một trang web không?
- 24. Hạng mục công việc TFS: Xếp hạng xếp chồng so với mức độ ưu tiên?
- 25. Tại sao có mức độ ưu tiên cho các toán tử như static_cast?
- 26. Các phương pháp được tải quá mức ưu tiên
- 27. Tôi có thể thay đổi mức ưu tiên của một quy trình trong Erlang không?
- 28. Hàng đợi ưu tiên với các ưu tiên mục động
- 29. Cách ưu tiên công việc?
- 30. Ngôn ngữ cập nhật Android trong hoạt động ưu tiên
Cảm ơn Mark. Đó là những gì tôi đã làm. – smith324