• 咨询热线 : 18581882801
  • 24小时服务热线 : 028-85239825
  • 微信咨询
  • QQ咨询
  • 留言/需求提交
Android APP开发人员注意了:Android Q 要来了,将影响国内90% App的适配项!

千联信息

2019-08-14

浏览量 : 121

Android APP开发的注意了,根据可靠消息,AndroidQ在今年Q3就准备发布正式版了,有一个影响90%应用适配的改动,需要值得注意。AndroidQ在保护隐私方面更加注重,其中有一条内容就是可以限制后台app启动Activity,下面千联信息就为大家简单讲解下Androidq Q的一些相关内容:


 

.Android Q 的一项适配

目前的市面上,不少 Android App 都有一个启动界面(Launch/Splash Screen),即应用启动时,在显示主页前增加一个有内容的页面,这种设计似乎成为了 App应用的标配。

 

但是起初这种设计,是为了解决APP在启动时出现白屏或黑屏的闪动问题,其目的是为了提高用户体验。后来发现在这个过程中,不干点什么好像有点浪费,因此就用来做初始化数据、SDK,甚至加载个广告,总而言之,启动页如今能承载的业务太多。

 

在用户的角度,可以看见的就是,App 启动时,先有个启动页,在启动页加载了一个广告,倒数 321,倒数归零后跳到真实的主页。这种情况下,启动页就承载了加载广告的逻辑。通常的代码实现是在广告显示后,增加一个倒数的定时器,在倒数归零的时候,再去调用 startActivity() 跳转到真实的主页上。

 

有兴趣可以试试,不少 App 在启动后,立即按 Home 键,过 3s(广告时间?) 之后又会被调起来。原本这种设计,基本可以说是无伤大雅,但是对于Android Q 就不一样了,它具有更强的意思保护性,可以限制后台app启动Activity,就以最近发布的Android Q Beta 4 版本举例:当你的 App 处于后台时,一旦尝试开启新的页面首先你的新页面肯定是打不开的,在现有的 Beta 版本上,系统还会输出一条警告 Log,并弹出一条 Toast

 

猜想,在正式版发布时,应该会去掉此 Toast 警告,没必要以这么强的提示来提醒用户。但是这依然是我们需要提前做好适配准备的。毕竟在不少快速迭代的项目中,启动速度并不是优先考虑优化的指标,各种初始化也很随意的就放在了启动页里,到最后不得不优化的时候,就比较费时和令人头疼了。


 

. MD 设计里的启动页

在启动页里,做大量的逻辑,甚至强制间隔几秒(显示广告),这种做法本身在 Google 的设计规范就是不推荐的,不少海外大厂的 App,也是遵循此设计规范。

 

而国内的 App 里,在启动页里加塞点功能,好像是一种更为普遍的做法。在 Material Design 的设计规范中,也明确定义了启动图的设计规范,其核心就是为了解决冷启动时,那个短暂的白屏不至于显得太突兀,设计的好了,还可以增加品牌的辨识度。

 

启动页面的设计,其重点在于,它仅仅在应用启动的瞬间显示,也就是说,启动页面不应该导致应用的启动变慢,强制显示一段时间广告,更是不应该的做法。毕竟打开 App 是为了它的功能,更快把首屏展示给用户,体验就更好。

 


 

. Q 的后台启动建议

Android Q 之前的版本中,本质上就已经对一些页面的显示做了限制,例如 Android 8.0 增加了悬浮窗权限,其实更多的也是为了不让一些恶意的 App 打扰用户。这次 Android Q 更彻底,当前处在后台的 App,没有打开新页的权限,这种设定,按照我们常规的思考,对开发者的影响应该不大,毕竟大多数时候,我们并不需要在后台弹出一个页面。

 

这不是撞上了国内较重的启动页设计,才会出现问题。针对必要的显示,Google 也明确给出了解决建议,可以判断应用在后台时,通过向用户发送一条通知(Notification),来由用户决定是否开启这个页面。

 

这种解决方案,在本文这个语境中,自然是没有什么鸟用的,走都走了,总不能抱住用户的大腿。这种安全级的升级优化,我觉得按照官方的规范,适配就好了。

 


 

. 适配思路

4.1 遵循 MD 规范

前面也提到,如果我们遵循 Material Design 的规范,只让启动图,作为一个对冷启动的优化,瞬时展示,之后立即显示主页,就不会有问题。

 

在这个过程中,全程只有一个 Activity 参与,自然无需启动一个新页面,也就不会有问题。唯一需要注意的是,在 setContentView() 方法之前,别忘了修改当前页面的 Theme

 

对于现有项目,这种优化,其实我们大部分的工作,来自如何协调已经在启动页中的各种资源的初始化逻辑,等于之前有一个空转的时间被利用起来初始化资源了,现在这些已经占用的时间,没有了。

 

不过也别担心,其实有不少优秀的开源库就在解决这些问题,例如之前推文中介绍的 Alibaba Alpha 库,就是一个基于 PERT 图构建的 Android 异步启动框架。

 

4.2 先判断是否前台再跳转

正如小标题上写的,我们可以在启动页跳转到主页时,检测当前页面是否在前台,如果不在,就放弃跳转。因为在后台时,并没有打开新页的动作,自然也不会有警告提示。

这算是一种,在现有项目基础之上,改动最小适配方案。

 

此时再细化一些,在我们放弃跳转后,可以有两个选择:

1. 关闭启动页,下次再被点击重走启动页逻辑

这很好理解,把启动页 finish() 掉,假装它从来没有启动过。下次用户再启动时,之前所有的步骤再走一遍,该显示的广告再多一次曝光。

现在有一些 App 已经是这种方案在优化。

 

2. 关闭启动页,并设置标记位

在发现启动页不在前台显示时,不做跳转的动作,同时设置一个标志位,但是此时不关闭当前页面。下次启动页再被启动时,直接跳转到主页。

如果选择此方案,我推荐第二种细化的方案。

 

4.3 Activity + Fragment 的方案

此禁止的主要就是开启新的 Activity,但是在同一个 Activity 中,使用不同的 Fragment 来承载不同的业务功能,其实是可以的。

 

等于是把之前的 SplashActivity,变成 SplashFragment,在主页上先添加 SplashFragment 来完成初始化或者广告的显示,在显示完成之后,移除此 SplashFragment 就好。这种方案其实是把旧的代码结构调整了,具体逻辑变动并不大,唯一需要注意的依然是 Theme 的切换。

 


 

. 小结时刻

每一次新系统的发布,或多或少都伴随着开发者的一波适配,大多数时候,官方也会给出明确的适配方案,来帮助开发者更快适配新系统。不过启动页面限制这一项,应该不在 Android 适配规范的计划内,国内开发者还是做好提前准备。如果平时在项目迭代的时候就注意了很多代码的规范,这些改动就相对平滑一些。


标签:Android APP开发动态
相关阅读:
Android APP开发人员注意了:Android Q 要来了,将影响国内90% App的适配项!
做Android APP开发的注意了,根据可靠消息,AndroidQ在今年Q3就准备发布正式版了,有一个影响90%应用适配的改动,需要值得注意。
社交电商app可以如何可用社交进行电商的经营发展?
社交电商app开发是电商发展过程中衍生出来的一种电商的模式,它基于社交的基础上,运用电商的原理和社交的原理结合,通过营销或其它的战略实现社交电商的经营。而我们常见的到的有微信里的微商、拼多多、他们利用的就是社交的关系平台,进行一系列的社交电商的经营,至今我们还能看到微信的微商的身影。
APP开发一定要选有成功经验的公司
一个app开发成功案例可以让app软件开发从业者学到更多的东西,多了解一些成功案例,也是站在巨人的肩膀上,有利于在app制作行业取得更大的突破。
母婴商城APP软件的市场前景如何?
自从二胎政策开放后,十个新生儿六个是“二孩”,很多家庭纷纷赶上生二胎的队伍,有的人50多岁了都应赶着生个小baby,而面对这样的市场行情,母婴市场又开辟了一条新的发展道路,在加上人们网购的趋势愈发高涨,越来越多妈妈都会选择通过网购买母婴产品,或者上网了解母婴知识,于是一个既能了解母婴知识又能提供母婴产品的商城母婴APP来了,这种母婴商城APP软件的市场前景如何?
在成都如何选择一个靠谱的app开发公司?
互联网+深入人心,移动互联网已经融入人们日常生活,很多传统公司想要开发一个app又没有专业的app技术人员,一般这些传统企业都是找app开发公司整体外包!那么如何如何选择一个靠谱的app开发公司,合理规避这些潜在的app定制外包的风险呢?今天【千联信息】小编给大家普及下这个行业的一些情况以及注意事项!
新零售电商app开发有哪些重点需要注意?
从电子商务发展到今,随着消费需求的不断升级,商业模式的不断优化改变,新零售电商app开发这一次进入了人们的视角。电子商务也好,新零售也好,都是适应社会的发展需求,满足用户的消费体验,优化消费模式和结构诞生的。
Andriod开发学院
AndroidAPP开发概述以及对于企业的重要性
移动互联网的到来对人们的生活产生了巨大的改变,通过一款APP软件就能洞悉世界各地正在发生的事,也能解决自己衣食住行方面的事情,它们已经已经彻底的融入到了我们的生活中,那企业开发这些APP有什么实质性的作用呢?
Android APP开发人员注意了:Android Q 要来了,将影响国内90% App的适配项!
做Android APP开发的注意了,根据可靠消息,AndroidQ在今年Q3就准备发布正式版了,有一个影响90%应用适配的改动,需要值得注意。
APP流量陷入瓶颈,有效挖掘存量用户价值成最大难题
随着移动互联网发展浪潮的推拥,如今各类APP产品都已在各自的领域占得一亩三分地
家政服务类APP开发有什么优势?需要具备什么功能?
在如今的家庭生活中,家务活成为了很多家庭用户的难点,家务活过多,无暇顾及。因此家政服务类型的APP就戛然而生,为这群人提供了一个可以预约家政服务的平台,可以有效的解决各种家务问题。
电商app开发如何吸引用户呢?
内容电商app开发是电商经营模式中的另一种模式,是用户的消费习惯的改变,可选择的商品、平台的多样的市场下,为满足用户的多样的需求,吸引用户的注意力,从而获得关注和流量。
母婴商城APP软件的市场前景如何?
自从二胎政策开放后,十个新生儿六个是“二孩”,很多家庭纷纷赶上生二胎的队伍,有的人50多岁了都应赶着生个小baby,而面对这样的市场行情,母婴市场又开辟了一条新的发展道路,在加上人们网购的趋势愈发高涨,越来越多妈妈都会选择通过网购买母婴产品,或者上网了解母婴知识,于是一个既能了解母婴知识又能提供母婴产品的商城母婴APP来了,这种母婴商城APP软件的市场前景如何?
兼职招聘app开发有什么的特点?
兼职招聘app开发主要的目的是帮助用户提供方便的兼职服务,而主要的人群大多为在线的大学生,为他们提供勤工俭学或者赚零花钱的机会。还有的就是在职的人,给他们一个赚外块的途径。即使是已经在工作了,有些人还是想多接一些活来干,多赚一点的钱。
获取报价方案

扫一扫,关注微信公众号

来微博关注我@千联信息

Copyright@2015-2019 成都千联信息技术有限公司 蜀ICP备17010330号-1