注:以下内容是我自己看了一些文章以及结合个人理解写的东西,可能有一些来自新人的偏见,欢迎交流。
一、启动的流程
软件启动——启动页或广告页——引导页(有没有?取决于是否首次启动)——首页(哪种首页?取决于是否首次启动和网络状态)
关于启动页,我自己有写另一篇文章:https://blog.youkuaiyun.com/ACoderLover/article/details/82220383
二、考虑流程图的影响因素(结合用户体验)
1、首次启动:在首次时为加入启动页和引导页;首次不放广告
2、网络状况:如无网络不加载广告页;直接启动页+载入数据缓存页面;网络不好,不加载广告,启动页+更新首页数据;网络好,广告+更新首页
3、数据缓存:指上次使用app的缓存数据。目的是减少网络数据传输,提高运行效率。首页可分为缓存数据首页和最新数据首页(和静态首页——首次进入且无网络)。
三、根据影响因素整合总流程图(影响因素重要性评判以用户体验和过程实现的目的为标准)
首先判断是否首次启动——判断时间短
再考虑网络情况——这是其他因素的前提条件。如:首页的类型,是否加载广告
四、绘制总流程
1、启动时APP自动检测是否首次启动
2.1 首次启动——启动页——引导页——(判断网络决定)载入静态首页或最新数据首页
2.2 非首次情况,无网络——启动页——缓存数据首页
2.3 非首次情况,网络不好——启动页——最新数据首页
2.4 非首次情况,网络好——广告页——最新数据首页
PS:
在首页数据更新时,android环境下,对比本地版本与数据库版本,若版本不一致,弹出版本更新提示