展开

关键词

你必须要掌握的Android冷启动优化

应用启动分为冷启动、热启动、温启动。而冷启动是应用程序从零开始,里面涉及到更复杂的知识。我们这次主要是对应用的冷启动进行分析和优化。 在官方文档中描述到当冷启动在5秒或者更长的时,Android vitals就会认为你的应用需要进行冷启动相关的优化。 不过Android vitals是针对Google Play的一款应用质量检测工具,那大家都明白,不过你可以像我一样使用阿里云的移动测试,阿里云提供的数据中,冷启动的行业指标中位数是4875.67ms, <layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:opacity="opaque"> <item 冷启动优化总结 对于冷启动优化,需要我们一步步去分析,不像布局优化那般照搬套路,所以在官方文档中也多次出现bottleneck瓶颈这个词汇,说明了我们的冷启动优化之路不会一马平川,大家要善用Android

1.2K20

Android性能之冷启动优化详析

1.前言 APP冷启动比较慢,点击桌面图片需要用户等待很久,体验较差。 2.APP启动方式 冷启动(Cold start) 场景:冷启动是指APP在手机启动后第一次运行,或者APP进程被kill掉后在再次启动。 可见冷启动的必要条件是该APP进程不存在,这就意味着系统需要创建进程,APP需要初始化。在这三种启动方式中,冷启动耗时最长,对于冷启动的优化也是最具挑战的。因此本文重点谈论的是对冷启动相关的优化。 生命周期:onResume- Activity生命周期 启动速度:快 3.如何统计Android App启动时间(使用命令行) adb shell am start -W [packageName 其中TotalTime代表当前Activity启动时间 4.冷启动流程 冷启动指的是应用程序从进程在系统不存在,到系统创建应用运行进程空间的过程。

26810
  • 广告
    关闭

    腾讯云服务器买赠活动

    腾讯云服务器买赠活动,低至72元1年,买就送,最长续3个月,买2核送4核、买4核送8核

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android冷启动优化,一顿操作猛如虎

    延迟过晚,可能会有体验问题;延迟过早,对冷启动没效果。 我们可以通过以下两种方式查看冷启动的耗时 1.查看Logcat 在 Android Studio Logcat 过滤关键字 “Displayed”,可以查看到如下日志: 2019-07-03 01:49 回顾冷启动流程图,冷启动结束时,刚好是UI渲染完,如果我们能确保在UI渲染完再去执行任务,这样,既能提升冷启动数据,又能解决UI上的问题。 答案就是把闪屏Activity主题设置成全屏无标题栏透明样式 <activity android:name="com.huison.test.MainActivity" ... android:theme="@style/TranslucentTheme" /> <style name="TranslucentTheme" parent="<em>android</em>:Theme.Translucent.NoTitleBar.Fullscreen

    82531

    推荐系统冷启动

    冷启动是推荐系统的重要挑战之一。那么,什么是冷启动?如何设计一个好的冷启动方案?本文将主要从以下7个方面给大家讲清楚这些问题: 什么是冷启动? 解决冷启动面临的挑战 解决冷启动为何如此重要? 解决冷启动的方法和策略 不同推荐产品形态冷启动的解决方案 设计冷启动时,需要注意的问题 冷启动未来发展趋势 希望通过本文,你能对推荐系统的冷启动有个全面的认识,并结合自己公司的实际业务,将冷启动策略更好的落地到真实推荐场景中 总之,推荐系统冷启动主要分为标的物冷启动、用户冷启动、系统冷启动三大类。 现在我们大概知道了什么是冷启动,看起来很好理解,但却不是这么容易搞定。下面我们就讲讲冷启动的难点。 信息做推荐(标的物冷启动) 采用快速试探策略(用户冷启动、标的物冷启动) 采用兴趣迁移策略(用户冷启动、系统冷启动) 采用基于关系传递的策略(标的物冷启动) 上面这些策略是整体的思路,下面分别针对用户冷启动 、标的物冷启动、系统冷启动这三类冷启动给出具体可行的解决方案。

    70020

    Android冷启动实现app秒开的实现代码

    本文介绍了Android冷启动实现app秒开的实现代码,分享给大家,具体如下: AndroidManifest里对应activity添加属性android:theme=”@style/AppSplash ” <activity android:name="com.senyint.edu.college.stu.view.activity.SplashActivity" android :screenOrientation="portrait" android:theme="@style/AppSplash" <intent-filter < action android:name="android.intent.action.MAIN"/ <category android:name="android.intent.category.LAUNCHER style @drawable/splash: <layer-list xmlns:android="http://schemas.android.com/apk/res/android" <item

    23931

    Bandit 冷启动算法

    版权声明:本文为博主-姜兴琪原创文章,未经博主允许不得转载。

    44920

    解决Android应用冷启动时出现的白屏问题的方法

    Android 应用冷启动时,需要从Application开始启动,加载时间就会比较长,容易出现白色或黑色闪屏,观察一下手机上一些 其他APP 比如 微信、京东等就不存在这个现象。 复制代码 代码如下: <itemname=”android:windowBackground” @color/background_material_light</item 解决方案 设置Theme 我们需要在 manifest指定SplashActivity的theme <activity android:name=".SplashActivity" android:theme="@ </activity 设置 Style 背景图片 <style name="AppTheme.Splash" parent="AppTheme" <item name="<em>android</em>:windowBackground " @mipmap/splash</item <item name="<em>android</em>:windowNoTitle" true</item </style 这个style只是用来做闪屏的主题,APP

    92720

    当推荐遇到冷启动

    作者:十方 冷启动问题,大家并不陌生。但是如何解决呢?加特征,加样本,加图谱,加规则? 十方在做信息流广告推荐时,主要通过加一些泛化特征解决冷启动问题,但是这样并不一定是最好的方案,新广告很大程度上,还是会被模型"低估"。如何解决冷启动问题呢? 不得不面对的冷启动! 通过实验证明该方法在各个场景下能显著提高冷启动user/item的推荐性能。 由于冷启动的item相比较与流行的item,更容易被采样作为负样本,因此这个偏差会影响模型的效果,解决办法就是用下式概率分布进行负采样: ? 大家是怎么解决冷启动问题的呢?欢迎留言讨论。

    35320

    浅谈android性能优化之启动过程(冷启动和热启动)

    本文介绍了浅谈android性能优化之启动过程(冷启动和热启动) ,分享给大家,具体如下: 一、应用的启动方式 通常来说,启动方式分为两种:冷启动和热启动。 1、冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动。 三、冷启动过程中碰到的白屏黑屏以及优化启动时间 1、白屏问题 : android studio升级 2.0之后 加上Instant Run,Instant Run为了能够让我们快速部署代码,背后其实是有一套非常复杂的逻辑的 Android冷启动时间优化 冷启动时间是指当用户点击你的app那一刻到系统调用Activity.onCreate()之间的时间段。 在这个时间段内,WindowManager会先加载app主题样式中的windowBackground做为app的预览元素,然后再真正去加载activity的layout布局 冷启动时间优化 知道了Android

    1.3K31

    App冷启动,你还要我怎样?

    什么叫冷启动 拿起你的手机,把后台的任务都清理掉,然后再点击你想要打开的app图标,这个时候,就是所谓的app冷启动了。有人肯定会说,有冷启动那不是还有热启动? 并不是的,这是因为app的冷启动时间过长的原因造成app进入假死状态了。这也是我们本篇文章所要优化的。 解决 我们先来解决打开app的时候闪白屏的这个问题。 <action android:name="android.intent.action.MAIN" /> <category android:name=" <item name="<em>android</em>:windowIsTranslucent">true</item> <item name="<em>android</em>:windowBackground">@android 上图是方法二app冷启动的打开流程图,这个流程我就不说了,自己看图吧,这里代码也没什么还写,无非就是写EventBus的发送事件和处理事件,这个也不用上代码了吧?

    26800

    当推荐遇到冷启动

    冷启动问题,大家并不陌生。但是如何解决呢?加特征,加样本,加图谱,加规则? 十方在做信息流广告推荐时,主要通过加一些泛化特征解决冷启动问题,但是这样并不一定是最好的方案,新广告很大程度上,还是会被模型"低估"。如何解决冷启动问题呢? ? ? ? 不得不面对的冷启动! ? 冷启动问题可以逃避吗?当然不能,就拿广告推荐来说,当一个客户想投广告,由于该广告从未曝光过,召回模型可能都无法召回,更别说后面的粗排和精排模型是否会过滤掉,所以很难起量。 通过实验证明该方法在各个场景下能显著提高冷启动user/item的推荐性能。 ? ? ? 问题描述 ? ? ? 由于冷启动的item相比较与流行的item,更容易被采样作为负样本,因此这个偏差会影响模型的效果,解决办法就是用下式概率分布进行负采样: ?

    44210

    推荐系统冷启动问题

    冷启动问题简介 冷启动问题主要分为3类: 用户冷启动:用户冷启动主要解决如何给新用户做个性化推荐的问题。 物品冷启动:物品冷启动主要解决如何将新的物品推荐给可能对它感兴趣的用户这一问题。 系统冷启动:系统冷启动主要解决如何在一个新开发的网站上(没有用户,也没有用户行为,只有一些物品的信息)设计个性化推荐系统,从而在网站刚发布时就让用户体验到个性化推荐服务这一问题。 对于这3种不同的冷启动问题,有不同的解决方法。一般来说,可以参考如下解决方案。 利用物品的内容信息 物品冷启动需要解决的问题是如何将新加入的物品推荐给对它感兴趣的用户。物品冷启动在新闻网站等时效性很强的网站中非常重要。 UserCF算法对物品冷启动问题并不非常敏感。

    83120

    App冷启动与启动白屏处理

    近日在开发过程中,发现每次点击app从桌面启动都有一个在桌面明显的等待时间,机型越低端的越明显,冷启动优化看来已经势在必行,所以怒而一顿研究再解决之。 1冷启动 第一次启动、被用户杀死进程或系统自动回收进程后,整个app后台任务被清理,再次启动app,称为 冷启动

    45020

    Sentinel中的冷启动限流算法

    冷启动算法用于控制令牌桶的令牌生产速率,即控制每个令牌生产的时间间隔。 假设冷启动时长为10秒,初始状态为冷启动状态,限流阈值为200QPS,正常情况下生产令牌的速率应该为5毫秒/个,而在冷启动阶段,速率会从最小值上升至5毫秒/个,最小速率与冷启动系数有关,与冷启动周期时长有关 通过下面这张图来理解冷启动算法。 ? thresholdPermits:从冷启动到正常的令牌桶中令牌数量的阈值,当令牌桶中的令牌数量超过该值时,则进入冷启动阶段。 由于令牌桶已满,接下来10s就是冷启动阶段。

    59910

    Android冷启动白屏解析,带你一步步分析和解决问题

    写在前面 记得在本月初,我发表了一篇文章叫《 Android Studio新功能解析,你真的了解Instant Run吗?》 ,里面详细讲解了Android Studio中新加入的Instant Run功能,使得我们开发的效率可以大大地提升。 问题重现 我初次发现这个问题是在升级了Android Studio 2.0之后,当时Android Studio的版本是从1.5直接升级到了2.0,一个如此大版本的跨跃说明改动肯定是比较大的。 分析原因 一开始我将这个原因归结于是Android Studio 2.0的bug,毕竟一次性做了这么大的升级,有点bug也是很正常的。 <item name="<em>android</em>:windowIsTranslucent">true</item> <item name="<em>android</em>:windowNoTitle">true</item

    44550

    App冷启动,你还要我怎样?

    什么叫冷启动 拿起你的手机,把后台的任务都清理掉,然后再点击你想要打开的app图标,这个时候,就是所谓的app冷启动了。有人肯定会说,有冷启动那不是还有热启动? 并不是的,这是因为app的冷启动时间过长的原因造成app进入假死状态了。这也是我们本篇文章所要优化的。 解决 我们先来解决打开app的时候闪白屏的这个问题。 <action android:name="android.intent.action.MAIN" /> <category android:name=" <item name="<em>android</em>:windowIsTranslucent">true</item> <item name="<em>android</em>:windowBackground">@android image.png 上图是方法二app冷启动的打开流程图,这个流程我就不说了,自己看图吧,这里代码也没什么还写,无非就是写EventBus的发送事件和处理事件,这个也不用上代码了吧?

    38120

    腾讯云函数计算冷启动优化实践

    文章内容主要分为三部分,首先介绍腾讯云函数的架构设计,其次看看函数的冷启动是如何产生的,以及冷启动包含哪些过程,最后分享腾讯云函数的一些优化方向方法。 腾讯云函数架构设计 ? 函数冷启动优化实践 介绍了腾讯云函数的架构之后,接下来详细看下云函数冷启动相关的问题和优化思路。 函数冷启动就是指函数第一次调用时平台部署函数实例的过程。不单止函数计算,也许万事都有冷启动。 图三:函数冷启动的过程 从流程图可以看出函数冷启动包含了哪些过程。黄色的路径是函数实例已经存在的热调用情况,复用了函数实例,热调用的延时是毫秒的级别。 如果没有可服用的实例就会走到右边蓝色部分的冷启动过程。 图七:自动扩缩容系统 前面分享的优化方向主要是在降低冷启动时延方面,当然最好的情况是可以提前创建出来避免冷启动

    5.1K10

    Redex 初探与 Interdex:Andorid 冷启动优化

    好把这个总结是拖了很久才写),虽然由于坑多,最终没有接入到项目构建中,但受Interdex启发,在应用冷启动速度优化方面有了新的收获。 PS:本篇提到的冷启动速度优化,不包括Android 5.0及以上系统 一、redex的使用与坑 1.安装与使用 使用redex的第一个坑就是环境。 F.Interdex 需要使用者提供程序启动时加载类序列作为配置文件,按此顺序调整dex中类的顺序,可以有效提升冷启动速度,提升幅度在30%左右。 Android编译时把.class转换成.dex是依靠dx.bat,这个工具实际执行的是sdk中的dx.jar。我们可以修改dx的源码,替换这个jar包,就可以执行自定义的dx逻辑了。 三、总结 Interdex优化确实可以明显提升应用冷启动速度,原理也比较简单:把互相引用的类尽量放在同个dex,增加类的pre-verify。

    2.3K61

    关于云函数冷启动优化的思考

    关于云函数冷启动优化的思考 ​随着容器技术的广泛应用,XaaS形式的概念层出不穷。 但是实际的应用情况我们有目共睹,云函数的冷启动对客户端带来的是高延迟的糟糕体验。一个云函数冷启动,需要经过资源调度,代码下载,代码部署几个步骤。还没等到执行代码逻辑,用户已经退出程序了。 # 思路一 ​在云函数中调用另一个云函数逻辑,假设执行 云函数逻辑需要 时长,冷启动需要 时长,执行 云函数逻辑需要 时长,冷启动需要 时长那么执行这个逻辑的需要总时长大概是 在调用云函数之前,检查该云函数的 link_container_list,冷启动该云函数同时,对link_container_list中的云函数也进行冷启动(资源调度)。 # 思路四 ​既然冷启动的原因是因为资源容器会被销毁,再次触发需要重新创建,那么为什么不能一次创建长期维持呢?

    28540

    扫码关注腾讯云开发者

    领取腾讯云代金券