我有以下代码:
public class MainActivity extends Activity {
Button btnStart;
MyTask objMyTask;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnStart = (Button) findViewById(R.id.btnstart);
btnStart.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
objMyTask = new MyTask();
objMyTask.execute();
}
});
}
class MyTask extends AsyncTask<Void, String, Integer> {
@Override
protected Integer doInBackground(Void... params) {...}
@Override
protected void onProgressUpdate(String... values) {...}
@Override
protected void onPostExecute(Integer result) {...}
}}
MyTask
以时间间隔生成值。在执行此线程期间,我的设备上的屏幕处于活动状态,但我希望此应用程序运行较长时间,因此如果屏幕在整个执行期间未处于活动状态会更好 - 这将耗电很多。你知道这个问题的解决方案吗?提前谢谢。
答案 0 :(得分:3)
使用服务而不是带有AsyncTask的Activity: