2012-02-14 28 views
5

Làm cách nào để thay đổi ưu tiên quy trình trong Android? Tôi đã tìm thấy mô tả quá trình và mô tả trong những ưu tiên của nó trong tài liệu androidưu tiên quá trình thay đổi trong android

process and thread description

process priorities

nhưng tôi đã tìm thấy điều gì về việc thay đổi quá trình ưu tiên của một số phương pháp.

ps: Tôi cần điều này để chỉ kiểm tra một số tính năng của ứng dụng được kết nối với mức ưu tiên của quá trình và nó sẽ không được sử dụng trong chương trình.

Cách duy nhất tôi thấy là cố gắng thay đổi mức độ ưu tiên thông qua trường quan trọng, nhưng đó là một ý tưởng tồi tôi đoán.

+0

Tôi nghĩ rằng bạn là chính xác, bạn có thể đặt mức độ ưu tiên cho chỉ chuỗi và không đảm bảo rằng mức độ ưu tiên đã đặt của bạn sẽ luôn được áp dụng. Hệ điều hành Android xác định dựa trên nhu cầu. – kosa

+0

Tại sao bạn nghĩ sử dụng trường quan trọng là ý tưởng tồi? Dường như việc thiết lập trường quan trọng mà hằng số liên tục nhất sẽ thay đổi mức độ ưu tiên của quy trình. Ngoài ra nếu bạn muốn tinh chỉnh quá khứ các cấp không đổi, bạn có thể sử dụng trường Iru. – ocross

+0

Tôi nghĩ rằng đó là một ý tưởng tồi vì thay đổi giá trị của một trường được thiết lập bởi hệ thống không phải là thực hành tốt – user881259

Trả lời

6

Làm cách nào để thay đổi mức độ ưu tiên của quá trình trong Android?

Nói chung, bạn thì không. Ưu tiên quy trình được quản lý bởi hệ điều hành. Nếu ứng dụng của bạn ở phía trước, ứng dụng sẽ chạy với mức độ ưu tiên nền trước. Nếu ứng dụng của bạn không ở nền trước, ứng dụng sẽ không chạy với mức độ ưu tiên nền trước.

Tôi cần điều này để chỉ kiểm tra một số tính năng của ứng dụng được kết nối với mức độ ưu tiên của quá trình và ứng dụng sẽ không được sử dụng trong chương trình.

Sau đó thử nghiệm với quy trình ở tiền cảnh so với quy trình không có.

Cách duy nhất tôi thấy là cố gắng thay đổi mức độ ưu tiên thông qua trường quan trọng, nhưng đó là một ý tưởng tồi tôi đoán.

Thay đổi số đó không có tác dụng. RunningAppProcessInfo là một cấu trúc đầu ra, không phải là phương tiện để thay đổi bất cứ điều gì được báo cáo thông qua cấu trúc đó.

1

setpriority()getPriority() trong mã nguồn gốc tồn tại, vì vậy có thể chúng ta có thể thiết lập các ưu tiên từ mã nguồn gốc. Nhưng, tôi không chắc liệu nó có tác dụng bởi os hay bỏ qua nó hay không.

0

này chỉ làm việc với một thiết bị bắt nguồn từ:

Sử dụng một thiết bị đầu cuối, trở thành gốc bằng cách nhập

su 

sau đó chọn quá trình id từ đầu ra của đầu

top -n 1 -m 10 

nhìn trong cột PID và gia hạn quy trình (trong ví dụ này PID 1825 thành mức ưu tiên 0) bạn muốn theo

renice 0 1825 

Đó là tất cả. Xin lưu ý rằng thay đổi này sẽ bị hệ điều hành ghi đè sau một thời gian, khi hệ điều hành cho rằng cần thiết phải ưu tiên quá trình này.

Các vấn đề liên quan