4.2.3 案例分析
案例分析
表4-2-9 intentServiceTest.java实现了一个继承了IntentService 的类intentServiceTest。
行9:设定TAG信息为“chen”,方便筛选LOG信息。
行11-13:重写父类方法。
行15-46:实现Service继承来的各个类,主要是增加了LOG信息,以便于追踪方法的执行。
行48-62:实现了onHandleIntent(Intent intent)方法,在该方法中,识别Intent携带的信息并根据参数不同执行不同的任务。
行64-68:实现onDestroy()方法,用来销毁Service 。
表4-2-10 MainActivity.java是主类。
行16-32:实现按钮点击动作,
从结果可以看到,onCreate方法只执行了一次,而onStartCommand和onStart方法执行了两次,开启了两个Work Thread,这就证实了之前所说的,启动多次,但IntentService的实例只有一个,这跟传统的Service是一样的。Operation1也是先于Operation2打印,并且两个操作间停顿了2s,最后是onDestroy销毁了IntentService。如图4-2-12所示。
学员评价