极简番茄运作流程分析及防止后台被杀方案

本人写的软件标题为啥是分析呢,因为我已经把基本的流程忘的差不多了..所以要重看一遍源码梳理下,(果然边学边做的后果就是代码超乱的!!都想重写一遍了!!!)

把当时的规划图翻出来了,其实看看挺弱智的,毕竟当时的目标是能做出这个功能就行。。

整理了一半三分之一懒得整理了。。

Screen-Shot-2013-09-17-at-6.55.18-PM

先说一下本次修改的目标为后台的activity被杀之后仍能正常工作

Bug出现的手动方法为进行番茄,退出为后台,长按Home键退出本activity,点击通知栏的返回,重新计时25分钟。更有可能出现的情况为:内存清理软件,系统内存不足时自动清除本软件。

大体思路为:番茄/休息开始时记录结束时间以及当前为番茄还是休息,用户中断或者完成时归为0,启动软件主画面时检查当前时间是否在记录时间之前,是则跳入番茄/休息运行画面,否则继续展现主画面,进入番茄/休息画面时判断是否紧接着开始,将通知栏的进行中的intent指向MainActivity

这样像贴胶布一样的更新方式还看的真有点蛋疼,但是经一个外国人的feedback建议之后发现根据本文这样修改后可以无痛的横竖屏转换了XD