我有这样的经历,不知你是否遇到?
把程序部署到模拟器的时候,可以正常运行。可当我再次运行时,问题就出现了。这样的问题真让人丈二和尚摸不着头脑啊。完全不知道到底是哪出问题了,即使是调试也无法找出问题出在哪,因为调试没问题。
最后觉得可能是跟生命周期有关吧。所以就彻底的调试了一下程序各个Activity和Service的生命周期。这一试还真奏效了。让我想起Service的一些特点。当程序退出时,即使已经执行了关闭Service的指令。当时Android系统不会立即关闭Service。所以当我重启程序时,其实没有调用Service的onCreate方法,Service依然保留之前的状态。
所以在停止退出程序时,应该清除在Service里面定义的一些变量或者资源。保证重启程序时,是在新的环境下执行。
我遇到的问题,其实不难。一方面是因为自己经验不足,一方面是没注意到一些细节问题。
我觉得不管在开发的过程中,遇到怎样的问题,都应该耐心的把它揪出来,这种事情急不得。
我总是在错误中寻找快感!