安卓開發電量
Ⅰ 手機android系統耗電快怎麼辦
找到耗電元兇
首先我們在設置里查看電池耗電情況,找出耗電最多的項目。如圖:
按道理來說一般使用手機的情況下應該是屏幕耗電最多,上圖中顯示媒體耗電最多。
排除法解決問題
重啟:我們可以推斷出媒體軟體應該在開機過後一直在掃描,出現這樣的情況我們首先可以重新啟動一次(重新啟動的作用是排除軟體沖突),然後再觀察耗電是否異常。
恢復出廠設置:如果還是耗電異常,在這種情況下可進行恢復出廠設置或者刷機,如果是非系統軟體的第三方軟體耗電異常我們首先重裝該軟體試一試。
刷機或升級:在恢復出廠設置以後還是不能解決的情況下,可能就是系統的bug,我們需要升級或者重新刷入新的系統。
電池問題:對於電池問題來說我們在耗電量上看到的情況應該是正常的,出現的問題是電池整體不耐用。
硬體問題:拿給奸商維修。
對於Android手機強大功能來說最頭疼得問題就是續航能力,其實一些如360省電王、金山電池醫生等等省電軟體無非就是讓你方便快捷的關閉一些平時用不到的功能,清除一下RAM內存,但是其軟體本身會耗費大量的手機內存,今天教大家不用任何軟體讓你的Android手機更省電,這里我們分享幾個小技巧,可以有效提高待機能力。
一、屏幕顯示
降低屏幕的亮度,可以有效的節省電能,尤其是摩托產的Android手機目前為止均為TFT屏幕,同時自動鎖屏幕的時間設置的短一些也會帶來一些電量的節省。
二、減少後台運行的程序
很多Android軟體不管有用沒用都喜歡在後台運行,這樣無疑增加了CPU的任務切換時間,當然由於Android系統設計原因,軟體無法自動退出,可以使用第三方的小工具來解決,比如說手機優化大師的內存整理功能。
三、關閉動態壁紙,減少桌面小插件
Android系統在桌面上有很強大的功能,動態壁紙和appWidget小插件都是電量消耗大戶,如果使用一個靜態的圖片作為Android壁紙會省不少電量,同時很多桌面小插件都是後台長期運行,比如天氣、資訊、包含秒針的時鍾或系統信息實時顯示的小插件都比較費電,根據需要能減少一些更好。
四、WiFi、藍牙、GPS、重力感應
對於智能手機來說,平時不用WiFi時一定不要忘記關閉它,同時在鎖屏幕時盡量使用WiFi休眠功能,同時藍牙也要禁用掉,GPS定位由於需要實時接收衛星信號十分費電,如果不在導航時一定別忘了關閉,對於重力感應來說由於內部的硬體需要時刻採集數據,同時屏幕的橫豎切換都是很費電的操作。
五、盡量不在信號差的地方通話或上網
對於手機來說,信號差的地方通話或上網,手機底層的基帶驅動會自動的加大收發功率,除了更耗電外輻射也會比平時大很多,所以信號質量不好一定不要上網或打電話,發簡訊這些操作。
六、盡量少用包含廣告的軟體
對於Android手機上很多軟體都是免費的,但仍然有不少的軟體內置了廣告,由於處理廣告的圖片變換以及不停的下載廣告圖片除了更耗費電量外還會浪費GRPS流量,所以盡量少用包含廣告的軟體,部分廣告插件還會收集用戶隱私等問題。可以使用APK安裝器3.0系列在安裝APK之前就可以發現廣告。
七、 盡量購買大RAM的機型
對於Android手機來說,更大的RAM可以有效的減少電池消耗,經過Android123開發站點評估,Android軟體使用的java語言開發,在內存吃緊的情況下系統會頻繁的使用Java虛擬機的GC機制,增加I/O交換和CPU運算,所以2011年買的安卓手機,至少512MB RAM,當然很多768MB或1GB的運行內存都是十分推薦的。
八、晚上睡覺時使用飛行模式
如果你晚上睡覺時不需要開手機,可以不用關機,直接進入飛行模式就可以關閉GSM移動網路通訊,這樣的好處除了省電外,可以降低手機的輻射,Android手機的開機需要載入初始化大量的文件十分耗電,反復開關機也會大幅減少手機待機時間,快速進入飛行模式可以使用手機優化大師的快捷設置功能。
九、降低來電鈴聲音量
如果你聽覺比較靈敏,可以適當的降低來電鈴聲的音量,同樣通話音量也可以降低來達到省電的目的,但是不要設置的太小,以免耽誤大事。快速調整各種音量的方法可以使用mTweak的快速設置,音量調整功能
Ⅱ 請教一個android程序 獲得應用程序的的耗電量
每一個程序的耗電量?有點搞了對手機電量的管理還有api可用 打開時間不定 而且像藍牙瀏覽器什麼的耗電更高 各個都不一樣的啊
Ⅲ 安卓手機 如何 查看 每個程序使用電量
以vivo Y85a為例,常看方法如下:
1、打開手機,在手機桌面上找到「設置」一項的圖標,然後點擊進入。
Ⅳ android開發時怎麼避免耗電量過大
根據您的描述,若手機耗電量大,建議您按照以下方法操作:
1)以下功能使用完成後建議您及時關閉:藍牙,WLAN,GPS,照相機等相關應用。
2)運行完程序後,建議按「返回鍵」退出,如果按「主屏鍵」,應用程序仍在後台運行,導致消耗電源和系統內存
Ⅳ 有沒有什麼方法能夠快速,實時的獲取android手機的電量值
目前電量檢測的技術還不成熟,因此事實上我們是無法查看到十分准確的電量信息的。
當然,如果想實時知道電量,手機右上角狀態欄中的電量圖標還是可供參考的。
Ⅵ 安卓開發,我開發的軟體,為什麼總是提示耗電異常
安裝省電軟體優化一下,還是顯示操作系統耗電多,並且你很看重的話,就考慮重新刷個優化的系統吧.
Ⅶ 安卓程序中如何獲得手機的電量,要代碼,,
直接在手機設置裡面就可以看到了
Ⅷ android操作系統怎麼獲得電量
這個是獲取電量的android DEMO:
package com.android.batterywaster;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.BatteryManager;
import android.os.Bundle;
import android.os.PowerManager;
import android.view.View;
import android.widget.CheckBox;
import android.widget.TextView;
import java.text.DateFormat;
import java.util.Date;
/**
* So you thought sync used up your battery life.
*/
public class BatteryWaster extends Activity {
TextView mLog;
DateFormat mDateFormat;
IntentFilter mFilter;
PowerManager.WakeLock mWakeLock;
SpinThread mThread;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set the layout for this activity. You can find it
// in res/layout/hello_activity.xml
setContentView(R.layout.main);
findViewById(R.id.checkbox).setOnClickListener(mClickListener);
mLog = (TextView)findViewById(R.id.log);
mDateFormat = DateFormat.getInstance();
mFilter = new IntentFilter();
mFilter.addAction(Intent.ACTION_BATTERY_CHANGED);
mFilter.addAction(Intent.ACTION_BATTERY_LOW);
mFilter.addAction(Intent.ACTION_BATTERY_OKAY);
mFilter.addAction(Intent.ACTION_POWER_CONNECTED);
PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "BatteryWaster");
mWakeLock.setReferenceCounted(false);
}
@Override
public void onPause() {
stopRunning();
}
View.OnClickListener mClickListener = new View.OnClickListener() {
public void onClick(View v) {
CheckBox checkbox = (CheckBox)v;
if (checkbox.isChecked()) {
startRunning();
} else {
stopRunning();
}
}
};
void startRunning() {
log("Start");
registerReceiver(mReceiver, mFilter);
mWakeLock.acquire();
if (mThread == null) {
mThread = new SpinThread();
mThread.start();
}
}
void stopRunning() {
log("Stop");
unregisterReceiver(mReceiver);
mWakeLock.release();
if (mThread != null) {
mThread.quit();
mThread = null;
}
}
void log(String s) {
mLog.setText(mLog.getText() + "\n" + mDateFormat.format(new Date()) + ": " + s);
}
BroadcastReceiver mReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
String title = action;
int index = title.lastIndexOf('.');
if (index >= 0) {
title = title.substring(index + 1);
}
if (Intent.ACTION_BATTERY_CHANGED.equals(action)) {
int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int icon = intent.getIntExtra(BatteryManager.EXTRA_ICON_SMALL,-1);
log(title + ": level=" + level + "\n" + "icon:" + icon);
} else {
log(title);
}
}
};
class SpinThread extends Thread {
private boolean mStop;
public void quit() {
synchronized (this) {
mStop = true;
}
}
public void run() {
while (true) {
synchronized (this) {
if (mStop) {
return;
}
}
}
}
}
}
這個是layout:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<CheckBox android:id="@+id/checkbox"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp"
android:layout_marginTop="25dp"
android:textSize="18sp"
android:textColor="#ffffffff"
android:text="@string/waste_away"
/>
<ScrollView android:id="@+id/scroll"
android:layout_width="fill_parent"
android:layout_height="0px"
android:layout_weight="1"
>
<TextView android:id="@+id/log"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:textSize="12sp"
android:textColor="#ffffffff"
/>
</ScrollView>
</LinearLayout>
Ⅸ Android如何得到電量、溫度、電壓
[java] view plainprint?
package com.LB;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.BatteryManager;
import android.os.Bundle;
import android.widget.TextView;
public class Battery extends Activity
{
private int BatteryN; //目前電量
private int BatteryV; //電池電壓
private double BatteryT; //電池溫度
private String BatteryStatus; //電池狀態
private String BatteryTemp; //電池使用情況
public TextView TV;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 注冊一個系統 BroadcastReceiver,作為訪問電池計量之用這個不能直接在AndroidManifest.xml中注冊
registerReceiver(mBatInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
TV = (TextView)findViewById(R.id.TV);
}
/* 創建廣播接收器 */
private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver()
{
public void onReceive(Context context, Intent intent)
{
String action = intent.getAction();
/*
* 如果捕捉到的action是ACTION_BATTERY_CHANGED, 就運行onBatteryInfoReceiver()
*/
if (Intent.ACTION_BATTERY_CHANGED.equals(action))
{
BatteryN = intent.getIntExtra("level", 0); //目前電量
BatteryV = intent.getIntExtra("voltage", 0); //電池電壓
BatteryT = intent.getIntExtra("temperature", 0); //電池溫度
switch (intent.getIntExtra("status", BatteryManager.BATTERY_STATUS_UNKNOWN))
{
case BatteryManager.BATTERY_STATUS_CHARGING:
BatteryStatus = "充電狀態";
break;
case BatteryManager.BATTERY_STATUS_DISCHARGING:
BatteryStatus = "放電狀態";
break;
case BatteryManager.BATTERY_STATUS_NOT_CHARGING:
BatteryStatus = "未充電";
break;
case BatteryManager.BATTERY_STATUS_FULL:
BatteryStatus = "充滿電";
break;
case BatteryManager.BATTERY_STATUS_UNKNOWN:
BatteryStatus = "未知道狀態";
break;
}
switch (intent.getIntExtra("health", BatteryManager.BATTERY_HEALTH_UNKNOWN))
{
case BatteryManager.BATTERY_HEALTH_UNKNOWN:
BatteryTemp = "未知錯誤";
break;
case BatteryManager.BATTERY_HEALTH_GOOD:
BatteryTemp = "狀態良好";
break;
case BatteryManager.BATTERY_HEALTH_DEAD:
BatteryTemp = "電池沒有電";
break;
case BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE:
BatteryTemp = "電池電壓過高";
break;
case BatteryManager.BATTERY_HEALTH_OVERHEAT:
BatteryTemp = "電池過熱";
break;
}
TV.setText("目前電量為" + BatteryN + "% --- " + BatteryStatus + "\n" + "電壓為" + BatteryV + "mV --- " + BatteryTemp + "\n" + "溫度為" + (BatteryT*0.1) + "℃");
}
}
};
}