3

我正在使用這些權限並從大約10個不同的應用中檢索內容。有沒有更好的方法來減少電池消耗?輔助功能服務消耗大量電池

<accessibility-service 
android:description="@string/accessibility_service_description" 
android:accessibilityEventTypes="typeViewClicked|typeViewFocused|typeWindowStateChanged" 
android:accessibilityFeedbackType="feedbackGeneric" 
android:notificationTimeout="100" 
android:canRetrieveWindowContent="true" 
xmlns:android="http://schemas.android.com/apk/res/android" /> 

閱讀活動在無障礙服務:

@Override 
public void onAccessibilityEvent(AccessibilityEvent event) { 
    final int eventType = event.getEventType(); 
    String eventText = null; 
    switch(eventType) { 
     case AccessibilityEvent.TYPE_VIEW_CLICKED: 
      eventText = "Focused: "; 
      break; 
     case AccessibilityEvent.TYPE_VIEW_FOCUSED: 
      eventText = "Focused: "; 
      break; 
    } 

    eventText = eventText + event.getContentDescription(); 

    // Do something nifty with this text, like speak the composed string 
    // back to the user. 
    speakToUser(eventText); 
    ... 
} 
+0

在說明電池壽命之前,您是如何測試的? – GvSharma

回答

0

我建議重新思考你的研究電池的消耗。不要說:

我的服務消耗的電池總量是多少?

而是認爲:

多少電池每分鐘是我的服務消費?

請記住,您的服務在您的應用程序上保持活躍。它不斷運行。因此,預計您的無障礙服務將比其他應用程序消耗更多電量。

這就是說,你提供的信息是沒有用的。這些都不是罪魁禍首。基本配置對電池消耗的影響極小,只有在您的應用程序的性質發生變化(您希望它執行其他操作)時才能更改。不,沒有金塊配置機制來節省電池。這是一個錯誤的問題。您想問的問題類型有:

我的應用使用了多少數據,我可以等到它連接到Wi-Fi?我是否會進行很多長時間的計算,這可能會一次性保存並完成所有計算?我的服務是否導致屏幕比所需時間長?

除此之外,它只是在無障礙服務的性質上比其他類型的應用程序消耗更多的電池,並且您無能爲力。