首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何统计Android App启动时

优化启动速度是几乎所有大型App应用开发者需要考虑的问题。优化启动速度之前首先需要准确测量App启动时间,这样有利于我们更准确可量化地看出优化效果,也可以指导我们进行持续优化。...Stopping: com.example.app Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER...热启动时间指在Application仍然存在的情况下,从用户点击桌面图标,到首页内容全部展示出来的时间。 App启动流程 要优化以及分析启动时间,需要先了解App启动流程。...导致了这次热启动实际上打log的时候发现有上次冷启动的开始时间,算成了冷启动,而且因为启动时间是上一次的,所以这次冷启动log的时间比实际时间长。...通过详细了解Android应用启动的流程,进行准确的log记录,并且结合第三方工具,我们最终得到准确的启动时间统计数据以及启动优化的一些头绪。

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

提示大屏幕和折叠屏: 让您的 Android 游戏登上更大的舞台

意味着开发者可以通过针对不同的外形和更大的显示设备优化游戏,来吸引正在快速增长的大量受众群体。 如果您在应用商店上架了游戏,那它可能已经可以在 Chrome OS 上运行了。...|orientation" android:label="@string/app_name"> 复制代码 正如前文所述,在游戏运行时如果发生配置更改,默认情况下系统会关闭 Activity 然后将其重新启动...,但如果您使用 android:configChanges 属性声明了需要监听的配置,将会阻止 Activity 重新启动。...例如检测键盘的连接: 然后,您可以在启动时或在配置更改时查询 InputManager,并根据触摸屏或者键盘的可用与否来切换控制方案。...MODE_SHORT_EDGES: 不论横竖屏模式,内容都会在凹口区域内渲染。 MODE_NEVER: 内容永远不会在凹口区域内渲染。

1.4K30

大屏幕和折叠屏: 让您的 Android 游戏登上更大的舞台

意味着开发者可以通过针对不同的外形和更大的显示设备优化游戏,来吸引正在快速增长的大量受众群体。 如果您在应用商店上架了游戏,那它可能已经可以在 Chrome OS 上运行了。...|orientation" android:label="@string/app_name"> 正如前文所述,在游戏运行时如果发生配置更改,默认情况下系统会关闭 Activity 然后将其重新启动,...但如果您使用 android:configChanges 属性声明了需要监听的配置,将会阻止 Activity 重新启动。...例如检测键盘的连接: 然后,您可以在启动时或在配置更改时查询 InputManager,并根据触摸屏或者键盘的可用与否来切换控制方案。...MODE_SHORT_EDGES: 不论横竖屏模式,内容都会在凹口区域内渲染。 MODE_NEVER: 内容永远不会在凹口区域内渲染。

1.3K20

移动端调试痛点?送你五款前端开发利器!

我想:怎么可能,我手机里挺好的呀,Chrome调试工具也没报错呀!就把她手机拿过来看了看,发现一进去还真就是一片空白。WTF(手动黑人问号)!!!...vConsole 会在你网页中加一个悬浮的小按钮,可以点击它来打开关闭调试面板,并查看 DOM、Console、Network和 本地存储 等信息。基本可以满足普通前端开发的需求。...3. weinre 推荐指数:★★★☆☆ weinre是一款很不错的网页检查工具,可以通过在本地启动一个 weinre 服务,并向手机网页嵌入一段 js 脚本来实现和电脑的通信,已达到类似浏览器开发工具那样的的调试效果...Chrome浏览器 + Android 推荐指数:★★★★★ 很多小伙伴可能不使用 Mac 或者不习惯 Safari浏览器 的开发者工具,没关系,谷歌也有类似的工具,而且更符合大家的使用习惯。...第三步:给你的 Android 手机下载一个手机版的 Chrome浏览器 (各大应用商店自行搜索),并在手机上的 Chrome浏览器 中打开你需要调试的页面。

1.1K00

应用启动性能 | 介绍 App Startup 库

最近我开始尝试使用 AndroidX 的应用启动 (App Startup) 库。在这个库发 布了 1.0 版本 之后,我觉得是时候深入理解一下为什么需要、什么时候以及如何使用这个库。...更糟糕的是,其中还暗藏陷阱,因为这些库常常在应用启动的时候进行加载和初始化,究其原因是由于其内部使用了 content provider。...但是究竟有什么影响呢? 测算启动时间 我最近发布了一篇文章 - 测试应用启动性能,其中详细描述了如何测算应用的启动时间。...另外需要注意的是 (我也在那篇文章中提到),我可能并不需要锁定时钟频率,因为系统通常会在应用启动的时候以最高的频率运行。...敬请关注我们的后续文章,在下一篇文章中,我将深入探讨如何利用 AndroidX 的应用启动 (App Startup) 库来实现库的延迟加载。

42820

前端-移动端调试痛点?——送你五款前端开发利器

我想:怎么可能,我手机里挺好的呀,Chrome调试工具也没报错呀!就把她手机拿过来看了看,发现一进去还真就是一片空白。WTF(手动黑人问号)!!!...vConsole 会在你网页中加一个悬浮的小按钮,可以点击它来打开关闭调试面板,并查看 DOM、Console、Network和 本地存储 等信息。基本可以满足普通前端开发的需求。...3. weinre 推荐指数:★★★☆☆ weinre是一款很不错的网页检查工具,可以通过在本地启动一个 weinre 服务,并向手机网页嵌入一段 js 脚本来实现和电脑的通信,已达到类似浏览器开发工具那样的的调试效果...Chrome浏览器 + Android 推荐指数:★★★★★ 很多小伙伴可能不使用 Mac 或者不习惯 Safari浏览器 的开发者工具,没关系,谷歌也有类似的工具,而且更符合大家的使用习惯。...第三步:给你的 Android 手机下载一个手机版的 Chrome浏览器 (各大应用商店自行搜索),并在手机上的 Chrome浏览器 中打开你需要调试的页面。

1.4K20

React Native发布APP之签名打包APK

一款APP的发布流程无外乎:签名打包—>发布到各store两大步骤。本文将向大家分享如何签名打包一款React Native APP。...在发这篇博文前我曾试着用Android Studio打包React Native APP,编译,打包,安装各项指数正常,当我欣喜在手机上打开APP看一下效果时,APP启动时闪退了。...签名打包后的APK已经从开发环境变成了生产环境,自然不会在每次启动的时候连接JS Server加载相应的js文件。所以导致APP因缺少相应的js而无法启动。...结论 在开发环境下,为方便调试,APP会在启动时从JS Server服务器将index.android.bundle文件加载到APP。...签名打包成功后你会在android/app/build/outputs/apk/”目录下看到签名成功后的app-release.apk文件。

2.5K50

探究 | App Startup真的能减少启动耗时吗

该怎么统计这个启动时间呢?...Android官方提供了一个可以统计线上应用启动时间的工具——Android Vitals,它可以在GooglePlay管理中心显示应用启动过长情况的启动时间,很显然这个也不适用于我们,这个必须上线到Googleplay...如果是线下的app,我们可以采用视频录制的方法准确测量启动时间,也就是通过判定视频的每一帧截图来知晓什么时候app启动了,然后统计这个启动时间。...这个时间是Android源码中帮我们计算的,可统计到Activity的启动时间,如果我们在Home页执行命令,也就能得到一个冷启动的时间。..." android:value="androidx.startup" /> 运行App,并执行命令,得出启动时间: TotalTime

1.6K51

我为何弃用Jetpack的App Startup?

前言 最近Jetpack又添加了新成员App Startup,官方声明这是一个在Android应用启动时,针对初始化组件进行优化的依赖库。...本人第一次听到后非常高兴,因为自己负责的项目在启动时需要初始化的东西实在是太多,而且有点杂乱无章,都耦合在一起了。...值得一提的是,App Startup中只提供了使用反射来获取初始化的组件实例,这对于一些没有过多依赖的初始化项目来说,盲目使用App Startup来优化是否会对启动速度进一步造成影响呢?...Android Startup Android Startup提供一种在应用启动时能够更加简单、高效的方式来初始化组件。...意味着在执行SampleSecondStartup之前SampleFirstStartup必须先执行完毕。

85820

【Hybrid开发高级系列】ReactNative(二) —— React Native调试专题

▪ 你修改了原生代码(iOS上的Objective-C/Swift或者Android中的Java/C++). 1.4 应用内的错误与警告提示(红屏和黄屏)         错误和警告会在开发构建时显示在你的...1.4.1 错误(Errors)         app中的错误会在你的app中用红色背景的全屏显示。这个屏幕也叫RedBox。你可以使用console.error()来手动触发一个。...1.6.2 使用自定义的JS调试器         设置REACT_DEBUGGER环境变量为启动你的自定义调试器的命令来使用自定义的JS调试器来代替Chrome开发者工具。...命令会被用来启动你的调试器。         ...当使用原生代码时(比如编写原生组件时)你可以和构建标准的原生app一样在Android Studio或者Xcode启动app并获取其调试功能(设置断点等等)。

27920

Jetpack 最新成员 AndroidX App Startup 实践以及原理分析

来自 Google 文档:App Startup 是 Android Jetpack 最新成员,提供了在 App 启动时初始化组件简单、高效的方法,无论是 library 开发人员还是 App 开发人员都可以使用...无论是 Google 提供的库还是第三方库,启动时运行一些初始化逻辑并不少见,例如 WorkManager 在应用启动时使用 ContentProvider 进行初始化,来看一下 Google 工程师...dependencies(): 返回需要初始化的列表,同时设置 App 启动时依赖库运行的顺序,假设 LibaryC 依赖于 LibaryB,LibaryB 依赖于 LibaryA,App 启动运行时,...手动初始化(也是延迟初始化)是非常有用的,组件不需要在 App 启动时运行,只需要在需要它地方运行,可以减少 App启动时间,提高启动速度。...App Startup 是 Jetpack 的新成员,是为了解决因 App 启动时运行多个 ContentProvider 会增加 App启动时间的问题。

78430

Android 12 SplashScreen API快速入门

虽说Android一直是建议我们将重量级的操作延后执行,让App启动时间越短越好,但是仍然无法完全避免一些App启动时的短暂白屏情况。...因此,这次的SplashScreen就是为了解决这个问题而推出的,它将会在一定程度上提升用户体验,彻底告别过去的启动白屏现象。...根据官方文档的说明,SplashScreen会在App启动和温启动的时候显示,永远不会在App启动的时候显示。 那么,什么是冷启动、温启动和热启动呢?...原则上我们应该让App启动时间越短越好,即使有了SplashScreen,我们也不应该故意让App启动时间变得更长。...着实是一个问题,主要原因在于,SplashScreen在Android 12上是强制启用的。

1.7K10
领券