一般的activity生命周期在执行onstart之后会是onresum,但是要是仅仅执行onresum而不执行onstart呢?
还确实有。
class RecordRunable implements Runnable
{
@Override
public void run()
{
mAudioRecord.startRecording();
while (mIsRecording)
{
short[] buffer = new short[mRecordSize];
mAudioRecord.read(buffer, 0, mRecordSize);
if (analyze != null)
{
analyze.updateBuffer(buffer);
analyze.notification(RecordClick.this);
}
buffer = null;
// Log.i("tyty", (System.currentTimeMillis()-temp)+"");
}
mAudioRecord.stop();
mAudioRecord.release();
mAudioRecord = null;
}
上面的代码片段是开启的service,它是由第一个apk启动然后趋于后台。主要的目地是记录手机设备音频,当音频有尖锐的波动时,会触发service处理相应的事件。
好的关键来了。
那我打开我的第二个testapk时,当然当前活动的activity是test,用尖锐的声音去触发第一个apk的service时,第二个testapk仅仅会执行onresum方法,而不会去执行onstart。所以当一些变量写在onresum里面就要重新考虑考虑咯