预启动apk

开发的时候,常常会遇到apk启动缓慢的问题。已经有很多文章讲解优化apk启动速度的问题。肯定也会有人想,可以在后台预先启动apk,当用户真正要使用这个apk的时候,系统只需要调到前台,启动速度自然是最快的。

首先要说的是,这种思路并不能根本解决问题。因为系统内存紧张的时候,预先启动的apk会被回收掉。当客户真正要使用的时候,启动依然是慢的。

虽然如此,在后台预先启动一个apk,在某些场景还是有用的。这里要介绍的就是,怎么预先在后台启动一个apk。重点是,如何后台启动apk而不干扰用户的前台行为。

  • apk启动后放到后台。可以在activity的onCreate的末尾调用moveTaskToBack(true),那么activity在启动后就主动把自己放到后台。不干扰用户的前台操作。
  • 在启动的一瞬间有界面弹出。可以做一点伪装!给启动的activity设置一个theme皮肤,皮肤里面设置一个窗口背景。

<item name="android:windowBackground">@drawable/preload_bg</item>

其实,activity启动的瞬间,弹出的界面是这个theme皮肤的窗口背景。可以把这个背景设置成一张图片,内容是“正在启动”之类的信息。然后,在acitivity的真正内容出现以前,由于moveTaskToBack的调用,activity会被放到后台。

那么,用户看到的就只是一个“正在启动”的弹窗,并不会知道启动了什么。甚至根本感觉不到有离开过当前activity,从而达到后台预启动activity,和伪装的效果。

转载于:https://my.oschina.net/kyle960/blog/858480

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值