广告
返回顶部
首页 > 资讯 > 移动开发 >Android App应用启动分析与优化
  • 564
分享到

Android App应用启动分析与优化

启动优化appAndroid 2022-06-06 08:06:29 564人浏览 安东尼
摘要

app的启动方式:  1.)冷启动  当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动。冷启动因为系统

app的启动方式:
 1.)冷启
 当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动。冷启动因为系统会重新创建一个新的进程分配给它,所以会先创建和初始化Application类,再创建和初始化MainActivity类(包括一系列的测量、布局、绘制),最后显示在界面上。
 2.)热启动 
当启动应用时,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的进程是依然会保留在后台,可进入任务列表查看),所以在已有进程的情况下,这种启动会从已有的进程中来启动应用,这个方式叫热启动。热启动因为会从已有的进程中来启动,所以热启动就不会走Application这步了,而是直接走MainActivity(包括一系列的测量、布局、绘制),所以热启动的过程只需要创建和初始化一个MainActivity就行了,而不必创建和初始化Application,因为一个应用从新进程的创建到进程的销毁,Application只会初始化一次。 

app的启动流程: 
通过上面的两种启动方式可以看出app启动流程为: 
Application的构造器方法——>attacHBaseContext()——>onCreate()——>Activity的构造方法——>onCreate()——>配置主题中背景等属性——>onStart()——>onResume()——>测量布局绘制显示在界面上

app的启动优化
基于上面的启动流程我们尽量做到如下几点
 1.Application的创建过程中尽量少的进行耗时操作
 2.如果用到SharePreference,尽量在异步线程中操作
 3.减少布局的层次,并且生命周期回调的方法中尽量减少耗时的操作

app启动遇见黑屏或者白屏问题
1.)产生原因 
其实显示黑屏或者白屏实属正常,这是因为还没加载到布局文件,就已经显示了window窗口背景,黑屏白屏就是window窗口背景。
 示例:

 

2.)解决办法
通过设置设置Style 
(1)设置背景图Theme 
通过设置一张背景图。 当程序启动时,首先显示这张背景图,避免出现黑屏


<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="Android:screenOrientation">portrait</item>
    <item name="android:windowBackground">>@mipmap/splash</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowNoTitle">true</item>
</style> 

(2)设置透明Theme 
通过把样式设置为透明,程序启动后不会黑屏而是整个透明了,等到界面初始化完才一次性显示出来


<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:screenOrientation">portrait</item>
  </style> 

两者对比:
 Theme1 程序启动快,界面先显示背景图,然后再刷新其他界面控件。给人刷新不同步感觉。
 Theme2 给人程序启动慢感觉,界面一次性刷出来,刷新同步。 
(3)修改AndroidManifest.xml


 <application
    android:name=".App"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true">
    <activity android:name=".MainActivity"
     android:theme="@style/AppTheme">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <cateGory android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
  //......
</application> 

解决后示例:

 

3.)常见的Theme主题 

android:theme="@android:style/Theme.Dialog" //Activity显示为对话框模式

android:theme="@android:style/Theme.NoTitleBar" //不显示应用程序标题栏

android:theme="@android:style/Theme.NoTitleBar.Fullscreen" //不显示应用程序标题栏,并全屏

android:theme="Theme.Light " //背景为白色

android:theme="Theme.Light.NoTitleBar" //白色背景并无标题栏

android:theme="Theme.Light.NoTitleBar.Fullscreen" //白色背景,无标题栏,全屏

android:theme="Theme.Black" //背景黑色

android:theme="Theme.Black.NoTitleBar" //黑色背景并无标题栏

android:theme="Theme.Black.NoTitleBar.Fullscreen" //黑色背景,无标题栏,全屏

android:theme="Theme.Wallpaper" //用系统桌面为应用程序背景

android:theme="Theme.Wallpaper.NoTitleBar" //用系统桌面为应用程序背景,且无标题栏

android:theme="Theme.Wallpaper.NoTitleBar.Fullscreen" //用系统桌面为应用程序背景,无标题栏,全屏

android:theme="Theme.Translucent" //透明背景

android:theme="Theme.Translucent.NoTitleBar" //透明背景并无标题

android:theme="Theme.Translucent.NoTitleBar.Fullscreen" //透明背景并无标题,全屏

android:theme="Theme.Panel " //面板风格显示

android:theme="Theme.Light.Panel" //平板风格显示
干我们这行,啥时候懈怠,就意味着长进的停止,长进的停止就意味着被淘汰,只能往前冲,直到凤凰涅槃的一天!

您可能感兴趣的文章:Android优化应用启动速度Android优化之启动页去黑屏实现秒启动Android APP启动方式、启动流程及启动优化分析浅谈android性能优化之启动过程(冷启动和热启动)Android应用启动速度优化Android 开发延时调用的几种方法Android延时操作的三种方法Android中实现延时执行操作的方法小结Android启动优化之延时加载的步骤详解


--结束END--

本文标题: Android App应用启动分析与优化

本文链接: https://www.lsjlt.com/news/24556.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android App应用启动分析与优化
    app的启动方式:  1.)冷启动  当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动。冷启动因为系统...
    99+
    2022-06-06
    启动 优化 app Android
  • Android APP启动方式、启动流程及启动优化分析
    本文章向大家介绍Android app应用启动的一些相关知识,包括app启动方式、app启动流程和app启动优化等知识!  app应用启动方式 1、冷启动  ...
    99+
    2022-06-06
    app启动 优化 app Android
  • Android APP启动时间优化介绍
    APP启动时间优化首先要知道入伙获取APP启动时间,可以看我的这篇文章:Android 获取APP启动时间 然后就是想办法降低启动时间 1.在Application的onCreate...
    99+
    2022-11-12
  • Android性能优化(一)App启动时间优化
    App启动时间优化 一、首先我们需要清楚App的主题加载 你的App的主题位于 res/values/styles 我们点击Light主题进...
    99+
    2022-06-06
    app启动 优化 app Android
  • 高德APP启动耗时剖析与优化实践(iOS篇)
    前言最近高德地图APP完成了一次启动优化专项,超预期将双端启动的耗时都降低了65%以上,iOS在iPhone7上速度达到了400毫秒以内。就像产品们用后说的,快到不习惯。算一下每天为用户省下的时间,还是蛮有成就感的,本文做个小结。(文中配图...
    99+
    2023-06-04
  • Android优化应用启动速度
    一、应用的启动 启动方式 通常来说,在安卓中应用的启动方式分为两种:冷启动和热启动。 1、冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该...
    99+
    2022-06-06
    启动 Android
  • Android应用启动速度优化
    开发Android应用中,随着功能越来越多,启动速度越来越慢。有没有办法让自己应用启动速度快一点呢? 方法是人想出来的。先说说我的实现方法: 1 将onCreate 中初始化的...
    99+
    2022-06-06
    启动 优化 Android
  • Android 分析实现性能优化之启动速度优化
    目录启动方式冷启动(启动优化目标)热启动温启动启动流程中可优化的环节检测工具启动时间检测Logcat Displayedadb 命令统计CPU profileAPI level &g...
    99+
    2022-11-12
  • Android冷启动实现app秒开的示例分析
    这篇文章将为大家详细讲解有关Android冷启动实现app秒开的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:AndroidManifest里对应activity添加属性android:...
    99+
    2023-05-30
    android app
  • 分析Android中应用的启动流程
    前言 在我们开始之前,希望您能最好已经满足以下条件:      1、有一份编译后的Android源码(亲自动手实践才会有更深入的理解) ...
    99+
    2022-06-06
    启动 Android
  • android性能优化之启动过程的示例分析
    小编给大家分享一下android性能优化之启动过程的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、应用的启动方式通常来说,启动方式分为两种:冷启动和热...
    99+
    2023-05-30
    android
  • Android启动页优化之实现应用秒开
    Android 应用冷启动时,需要从Application开始启动,加载时间就会比较长,这段时间里,用户所能看到的就是”白屏“(这是因为默认的AppTheme的 android:wi...
    99+
    2022-11-12
  • 分析Flutter应用性能检测与优化
    这篇文章主要介绍“分析Flutter应用性能检测与优化”,在日常操作中,相信很多人在分析Flutter应用性能检测与优化问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”分析Fl...
    99+
    2022-10-19
  • Android 9.0 pms中关于启动app时获取app的ActivityInfo信息相关源码分析
    1.前言  在android9.0的系统rom定制化开发中,在对于app启动时,在进行系统中,通过Launcher调用pms来查询app的相关ActivityInfo的相关信息,然后调用 ams来启动activity,这篇来分析pms中获...
    99+
    2023-09-21
    android pms activityinfo分析 java framework
  • Spring Boot应用启动与关闭的示例分析
    这篇文章主要介绍Spring Boot应用启动与关闭的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Spring Boot,作为Spring框架对“约定优先于配置(Convention Over Config...
    99+
    2023-05-30
    spring boot
  • Android笔记之:App应用之启动界面SplashActivity的使用
    当前比较成熟一点的应用基本上都会在进入应用之显示一个启动界面.这个启动界面或简单,或复杂,或简陋,或华丽,用意不同,风格也不同.下面来观摩几个流行的应用的启动界面. 1. 货比...
    99+
    2022-06-06
    启动 app Android
  • 怎么Android应用中实现一个APP显示界面滑动优化
    这篇文章将为大家详细讲解有关怎么Android应用中实现一个APP显示界面滑动优化,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、界面布局<xml version=&quo...
    99+
    2023-05-31
    android pp roi
  • 解析Android开发优化之:软引用与弱引用的应用
    如果一个对象只具有软引用,那么如果内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用...
    99+
    2022-06-06
    android开发 优化 Android
  • Android优化提升应用启动速度及Splash页面的设计
    目录1.启动分为两种方式2.如何测量一个应用的启动时间3.应用启动的流程4.减少应用的启动时间的耗时5.如何设计延迟加载DelayLoad1.启动分为两种方式 1) 冷启动...
    99+
    2022-11-12
  • Android性能图论在启动优化中的应用示例详解
    目录正文1 图论的基础知识1.1 有向无环图1.2 拓扑排序1.3 拓扑排序实现2 任务管理2.1 任务启动2.2 线程管理2.2.1 wait/notify2.2.2 CountD...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作