cuốn sách gpt4 ai đã làm

Sử dụng CPU cảm biến Android

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 21:06:35 26 4
mua khóa gpt4 Nike

Tôi đang cố đọc nhiều cảm biến từ Samsung Galaxy Tab GT-P1000 và chúng dường như rất tốn CPU so với ứng dụng tôi đang sử dụng.

Để thử nghiệm, tôi đã tạo một chương trình ngắn triển khai SensorEventListener cho cảm biến gia tốc nhưng không làm gì với số đọc của cảm biến:

lớp công khai SensorTestActivity mở rộng Hoạt động triển khai SensorEventListener {
/** Được gọi khi hoạt động được tạo lần đầu tiên */
@Ghi đè
khoảng trống công khai onCreate(Gói đã lưuInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Trình quản lý cảm biến oSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
oSensorManager.registerListener(cái này, oSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_GAME);
}

@Ghi đè
public void onAccuracyChanged(Cảm biến cảm biến, độ chính xác int) {
// TODO sơ khai phương thức được tạo tự động

}

@Ghi đè
public void onSensorChanged(sự kiện SensorEvent) {
// TODO sơ khai phương thức được tạo tự động

}
}

Điều này dẫn đến mức sử dụng liên tục là 10% khi tôi gỡ lỗi (tức là thiết bị của tôi được cắm vào PC) và 5% khi tôi không gỡ lỗi. Nếu tôi sử dụng SENSOR_DELAY_FASTEST, mức sử dụng tăng đột biến lên mức không đổi 30% khi tôi gỡ lỗi và lên 20% khi tôi không gỡ lỗi.

Điều này tạo ra một vấn đề lớn khi tôi muốn sử dụng nhiều cảm biến vì chúng đều có mức sử dụng CPU cao mà không cần xử lý dữ liệu. Tôi đã sử dụng ứng dụng La bàn từ Android Market và không ứng dụng nào trong số đó sử dụng hơn 5% CPU tại một thời điểm nhất định, vì vậy tôi cảm thấy như mình đang thiếu điều gì đó hiển nhiên nhưng không thể tìm thấy ai khác có cùng vấn đề.

Tôi chưa chỉnh sửa tệp danh sách hoặc bố cục của ứng dụng này - đây là mẫu mặc định do Eclipse tạo và tôi đã thêm các cảm biến.

Cập nhật: Phương pháp đọc mức sử dụng CPU của tôi có sai sót vì tôi sử dụng Trình quản lý tác vụ để đo lường. Ứng dụng của tôi không dừng cảm biến bằng cách sử dụng onPause khi Trình quản lý tác vụ mở, trong khi hầu hết các ứng dụng khác đều làm như vậy.

câu trả lời hay nhất

Điều này dẫn đến mức sử dụng CPU liên tục là 10% trong khi tôi đang gỡ lỗi (tức là thiết bị của tôi được cắm vào PC) và mức sử dụng là 5% khi tôi không sử dụng SENSOR_DELAY_FASTEST, mức sử dụng sẽ tăng vọt lên không đổi 30% trong khi tôi không sử dụng. gỡ lỗi và 20% trong khi tôi thì không.

và sau đó sử dụng CẢM BIẾN_DELAY_UI hoặc CẢM BIẾN_DELAY_NORMAL, cả hai phương pháp đều cập nhật dữ liệu cảm biến ít thường xuyên hơn và tương ứng sẽ tiêu tốn ít thời gian CPU hơn.

Tôi đã sử dụng các ứng dụng La bàn từ Android Market và không có ứng dụng nào trong số đó sử dụng hơn 5% CPU tại một thời điểm nhất định

họ có thể không sử dụng CẢM BIẾN_DELAY_GAME hoặc CẢM BIẾN_DELAY_FASTEST.

Ngoài ra, các thiết bị khác nhau (có thể với các chipset cảm biến khác nhau) có thể dẫn đến việc sử dụng CPU khác nhau. Ví dụ: một số thiết bị rất khó chịu trong LogCat - các thiết bị ghi nhật ký dựa trên chỉ số cảm biến sẽ chậm hơn tương ứng.

Ngoài ra, tôi không biết cách bạn đo lường mức sử dụng CPU nhưng tôi không biết bất kỳ phương pháp đo lường nào được hỗ trợ chính thức. Thay vào đó, tôi sẽ tập trung vào tốc độ khung hình trong trò chơi hoặc bất cứ thứ gì bạn đang viết.

Về việc sử dụng CPU cảm biến Android, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/8228394/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress