华为手机状态栏恢复 :常州做安卓APP开发专业团队介绍Android APP启动优化

太平洋在线下载 102 0

当我们在安卓手机上面点击一个APP图标启动APP过程,有时候出现一个白屏,然后才进入主界面,这是太平洋在线下载因为从桌面点击APP图标启动应用开始,程序会显示一个启动窗口等待Activity的创建加载完毕再进行显示华为手机状态栏恢复

安卓系统的应用程序,通常分为冷启动、热启动和温启动;冷启动指的是应用程序从头开始:系统的进程没有,直到此开始,创建了xg111net企业邮局太平洋在线xg111应用程序的进程华为手机状态栏恢复 。与冷启动相比,热启动应用程序要简单得多,开销更低。在热启动,所有的系统都是把你的活动到前台。如果所有应用程序的活动仍驻留在内存中,那么应用程序可以避免重复对象初始化,UI的布局和渲染。温启动中用户退出APP应用,但随后重新启动。该过程可能已继续运行,但应用程序必须通过调用onCreate()从头开始重新创建活动。系统从内存中驱逐您的应用程序,然后用户重新启动它。进程和Activity需要重新启动,但任务可以从保存的实例状态包传递到onCreate()中。

那么华为手机状态栏恢复 ,Android APP启动为什么会出现白屏?下面是常州安卓APP开发启动优化具体方案:

冷启动白屏持续时间可能会很长华为手机状态栏恢复 ,这可是个槽糕的体验,它的启动速度是由于以下引起的:

1、Application的onCreate流程华为手机状态栏恢复 ,对于大型的APP来说,通常会在这里做大量的通用组件的初始化操作;

2、Activity的onCreate流程华为手机状态栏恢复 ,特别是UI的布局与渲染操作,如果布局过于复杂很可能导致严重的启动性能问题;

优化APP启动速度意义重大,启动时间过长,可能会使用户直接卸载APP华为手机状态栏恢复 。接下来是常州专业开发安卓APP技术公司点个赞科技分享优化方案。

直接干掉

既然有这个Activity启动界面华为手机状态栏恢复 ,那能不能直接不要这个呢,当然是可以:

定义一个style:

<style name="AppTheme.Launcher">

<!--关闭启动窗口-->

<item name="android:windowDisablePreview">true</item>

</style>

只需要再启动页面引用:

<activity

android:name=".MainActivity"

android:label="@string/app_name"

展开全文

android:theme="@style/AppTheme.Launcher">

<intent-filter>

<action android:name="android.intent.action.MAIN"/>

<category android:name="android.intent.category.LAUNCHER"/>

</intent-filter>

</activity>

最后在MainActivity恢复正常主题:

public class MainActivity extends BaseActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setTheme(R.style.AppTheme);

setContentView(R.layout.activity_main);

这样启动APP,就没有白屏,但会出现点击桌面图标而半天没有反应的现象,体验不好,很多APP把这个闪屏当做一个广告、品牌宣传的页面华为手机状态栏恢复

Material Design

其实Google针对APP闪屏华为手机状态栏恢复 ,在Material Design规范launch-screens,也给出了非常详细的设计定义,有两种方案:

华为手机状态栏恢复
:常州做安卓APP开发专业团队介绍Android APP启动优化-第1张图片-太平洋在线下载

1、品牌展示

屏幕提供短暂的品牌曝光华为手机状态栏恢复 ,来看看如何实现的,定义一个style:

<style name="AppTheme.Launcher">

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

</style>

drawable/branded_launch_screens

<?xml version="1.0" encoding="utf-8"?>

<layer-list xmlns:android=""

android:opacity="opaque">

<!--黑色背景颜色-->

<item android:drawable="@android:color/black" />

<!-- 产品logo-->

<item>

<bitmap

android:gravity="center"

android:src="@mipmap/empty_image01" />

</item>

<!-- 右上角的图标元素 -->

<item>

<bitmap

android:gravity="top|right"

android:src="@mipmap/github" />

</item>

<!--最下面的文字-->

<item android:bottom="50dp">

<bitmap

android:gravity="bottom"

android:src="@mipmap/ic_launcher" />

</item>

</layer-list>

其中android:opacity=”opaque”参数是为了防止在启动的时候出现背景的闪烁华为手机状态栏恢复

2、主页预加载

使用与主界面UI一致的占位内容华为手机状态栏恢复 ,给用户感觉已经在加载中了,这里模拟了一个高度为25dp的状态栏和一个高度为56dp的标题栏,定义一个style:

<style name="AppTheme.Launcher">

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

</style>

drawable/placeholder_ui

<?xml version="1.0" encoding="utf-8"?>

<layer-list xmlns:android=""

android:opacity="opaque">

<!--状态栏颜色-->

<item android:drawable="@color/colorPrimaryDark" />

<!--假装这里是个toolbar-->

<item

android:drawable="@color/colorPrimary"

android:top="25dp" />

<!--状态栏25+toolbar56=距离top81-->

<item

android:drawable="@android:color/white"

android:top="81dp" />

</layer-list>

标签: 安卓 常州 APP 团队 优化

抱歉,评论功能暂时关闭!