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

Android 启动优化说明、黑白屏处理

Android 启动优化说明、黑白屏处理 前言 正文 一、启动来历 二、启动说明 1. 冷启动 2. 热启动 3. 温启动 4. 冷启动流程 5. 优化时间 6. 优化方案 三、黑白屏处理 1....运行效果 四、源码 前言 正文   Android App使用过程中,对于应用的优化是一个加分项,举个例子,打开你的App需要2秒,人家0.5秒,这就是很大的用户体验上的优化。...Android系统启动就是手机启动,整个过程就是手机开机到进入手机桌面,里面的流程是这样的: 上电(开机) BootLoader (系统引导芯片唤起) Linux Kernel (init.rc) Init...冷启动   比如你开机之后第一次点击这个应用在手机桌面上的图标,打开这个App应用,或者说是你的App进程被杀死有一段时间之后,你又打开这个App,这是比较简单的说法。...三、黑白屏处理   默认Android的App启动时会有一个预览页,这个预览页Android低版本中是黑色的,高版本中是白色的,俗称黑白屏,比如这样, 你会看到有短暂的屏幕一片空白的情况。

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

这回性能优化,从App的启动优化说起!

前言 本篇文章主要针对 Android性能优化 中App的启动优化App启动,相信大家都是非常熟悉了,那为何我们需要对App启动做优化呢,这里就要先对我们Android开机到启动我们的App进入主页面这一流程做一个简单的阐述了...一、Android启动流程 我们先来看一张流程图[1240] 首先呢,我们Android手机开机时是先加载一个Boot程序,有点类似Windows开机时的开机引导程序,然后通过Boot程序加载Lux内核...(黑白屏问题),然后启动开机欢迎动画(App欢迎页动画),最后进入到桌面(App主页面)....然后application 到MainActivity 之间,还会有一个预显示窗口,就是出现的黑白屏。那我们怎么优化去除这个惹人厌的黑白屏呢?我们先看一下这个黑白屏从哪蹦出来的。...对的,被你发现了,虽然黑白屏没了,但是我们的App似乎是变迟钝了你仔细观察一下,点击App启动图标后,App似乎是顿了一下,然后加载了我们的欢迎页面,有点像ANR,只不过很短暂 ,但是用户还是能够发现的

82230

性能优化(一)APP 启动优化(不敢说秒开,但是最终优化完真不到 1s)

应该有的同学知道是怎么一回事儿了,当我们系统桌面任意点击一个 APP 是不是会发现启动的时候有一瞬间有白屏出现(以前老版本是黑屏) 那么我们怎么来优化这个黑白屏的问题勒,现在我们先来了解一下 Android...手机重开机到启动 APP 的过程吧。...启动步骤 首先拿到一部 Android 系统的手机打开电源,引导芯片代码加载引导程序 BootLoader 到 RAM 中去执行。 BootLoader 把操作系统拉起来。...APP 启动黑白屏问题 终于到了正题了,下面我们就来说下启动黑白屏的问题,还是先来看一个 GIF 吧。 市面上 APP 黑白屏 ?...从上面的一段录屏我们可以发现市面上常见的 APP 启动有的是白屏有的是做了优化。黑屏只有 Android 4.n 具体是哪个版本我也忘了。那么现在我们就以我现在的真实项目来优化一下启动。

84820

解决 APP启动白屏黑屏问题

闪屏页简介 闪屏页,我们手机上的每个 APP 几乎都有自己的闪屏页,就是真正进入程序,会有一个页面停顿几秒钟。其实我们完全可以充分利用好这几秒钟做很多的程序初始化了启动。...为什么我的 APP 启动会白屏或者黑屏 有时候我们会发现,我们启动我们自己的 APP 的时候,总是有那么点时间是白屏(黑屏),经过了白屏(黑屏)后才会进入我们的 APP。那么这是为什么呢?...模拟效果 下面我们模拟一下白屏的效果 可以看到打开 APP 的时候会有白屏的现象出现,当然我的这个演示 APP 程序没有那么复杂,因此我为了实现这种效果,就在 Application 中做了个睡眠。...我们默认的 Theme 是 @android:style/Theme.Light 的话,这个时候就会产生白屏了。...黑屏就是应用了 @android:style/Theme.Black,好了到这里我们就彻底明白为什么会出现白屏或者黑屏了。

2.8K20

Android 一个APP里打开另一个APP

打开另一个APP 接下来DemoA的MainActivity里面写一个按钮,用于点击之后打开DemoB应用 <Button android:id="@+id/btn_open_b..." android:text="打开DemoB" android:textAllCaps="false" android:layout_width="wrap_content...也DemoB的布局文件改一下显示内容 <TextView android:textSize="18sp" android:textColor="#000"...这样就打开了。那假如我要传递数据到DemoB呢? ② 数据传递 传数据其实就跟平时单个APP内部不同页面传数据类似,也是用Intent ? 然后另一个APP里面接收并显示出来。...因为是要DemoB的TestActivity页面,所以这个activityAndroidManifest.xml中需要配置 android:exported 属性,布尔类型,是否支持其他应用访问目标

2.5K30

HTC G14解锁S-OFF、刷机、获取ROOT权限

一、解锁S-ON至S-OFF指南 1、打开http://revolutionary.io/ 下载你对应的解锁工具:revolutionary-0.4pre4.zip (1.54 MB) 解压出来支持解锁的....0008, .0011 and .0012, 1.18.0000 2、点击下载链接时,同时还会出现一个Beta key对话框,选择系统版本、手机型号、HBOOT版本号,然后再填入 S/N码 3、打开...五、 刷机实战详解 G14 HBOOT 1.27.0000 S-ON 官解 刷原生 android4.0.3 RECOVERY/ROM/ROOT  本人新加坡有锁版G14,未刷ROM版本4.0.3+...不过,自己刷机摸索中,也遇到各种各样的问题,现在总结一下我刷机过程中遇到的问题和解决方案,希望对大家有帮助 问题1、刷第三方recovery失败,可能会出现 无法进入 Recovery,出现红色叹号...,显示HTC,不开机 解决:首先拔掉电池(可能会导致字库损坏,或者等到白屏把手机电量耗完自动关机),然后继续下列方法之一: 方法1)重新刷一次第三方ROM; 方法2)提取你刷的rom中的boot.img

1.7K20

你的 APP 为何启动那么慢?

场景就类似你打开微信聊了一会天这时候出去看了下日历 在打开微信 微信这时候启动就属于热启动。...这其中的道理简单说就是学习用户的使用习惯,提前将App进程创建好,当用户打开APP时不会出现冷启动。...1.目前为止见过最最牛逼的是使用机械手和高速相机测试,手机开机后使用机械手点击应用桌面图标,高速相机记录启动过程,后续通过程序分析视频,从机械手点击图标到Activity显示出来使用了多少时间。...避免主线程做耗时操作 用户体验优化 消除启动时的白屏/黑屏 ? 冷启动白屏.gif 为什么启动时会出现短暂黑屏或白屏的现象?...setTheme(R.style.AppTheme); super.onCreate(savedInstanceState); } 这样启动时就通过给用户看一张图片或是广告来防止黑白屏的尴尬

1.8K20

《DRM 专栏》| LCD显示异常分析——花屏和撕裂

花屏 概述 相信很多朋友会遇到LCD开机瞬间会闪现雪花屏的问题,而这类问题都有个共同点,那就是都发生在带GRAM的屏上,同样的问题,休眠唤醒时也会出现。...对于第一点,其实一开始我也很疑惑,如果说开机闪现花屏是因为uboot中背光开的太早导致,这个结论我能接受。但在进入Android系统后,休眠唤醒时还会有花屏问题,这就有点说不通啊?...因为Android的PowerManager框架本身能够确保休眠的时候先关背光,后关显示;唤醒的时候先开显示,后开背光,而且我显示驱动里面也做了刷背景色的动作,只要GRAM中的数据没有被填充完,显示驱动的流程就不会接着往下走...推迟背光开启的时间 这里的推迟动作其实是相对的,即你可以: 初始化完GRAM后,等待1个TE信号,再开启背光 或者在给屏幕发送Sleep Out (0x11)、Display On (0x29)指令...常白屏引起的撕裂假象 上面的问题如果发生在常白屏(即默认上电就是白屏)上,那么往往会给人产生撕裂(tear effect)的假象,见下图: 其实原理和上面是类似的,只是由于人的视觉残留效应,造成背光从灭到亮那一瞬间看到的第一帧印象极为深刻

3K20

苹果iPhone白屏死机?如何修复?

硬件问题:另一个常见的白屏原因是iPhone的某些硬件出现故障或被损坏,从而导致设备卡在白屏上无法开机。 无论iPhone白屏死机的原因是什么,请尝试以下步骤来修复它。...方法一、三指点击 有时,你的iPhone可能不是白屏死机,只是你不小心打开了屏幕放大功能。如果是这样,你可以尝试缩小屏幕从而正常使用设备。...对于iPhone 7和7 Plus:同时按下电源按钮和音量降低按钮,当你屏幕上看到苹果标志时松开按钮。 对于iPhone 8及更新机型:快速按下并松开音量增大按钮,然后快速按下并松开音量减小按钮。...打开iTunes并通过USB数据线将你的iPhone连接到电脑。 然后,你需要将iPhone置于恢复模式。不同设备的步骤略有不同。(您可以参考强制重启的步骤。)...这款软件可以轻松修复各种iOS系统相关问题,包括iPhone白屏死机、黑屏、不停重启、卡在恢复模式、更新失败、无法开机等等。

5K00

Flutter Android端启动白屏问题的解决

问题描述 Flutter 应用在 Android 端上启动时会有一段很明显的白屏现象,白屏的时长由设备的性能决定,设备性能越差,白屏时间越长。...问题分析 其实启动白屏的问题在Android原生应用上也是一个常见问题,大致是因为从用户点击 Launcher Icon 到应用首页显示之间,Android 系统完成应用的初始化工作,其流程如下: ?... Flutter Android 端上,白屏的问题会更加严重,因为除了 Android 应用启动耗时外,还增加了 Flutter 初始化耗时。 ?...项目的 android/app/src/main/res/mipmap-xhdpi/ 目录下添加闪屏图片; 打开 android/app/src/main/res/drawable/launch_background.xml...文件,这个文件就是闪屏的背景文件,具体如何设置可以查阅 Android Drawable,我 demo 中的设置如下: <?

3.4K10

【技巧】ionic3优雅解决启动、后黑白屏问题

1、启动白屏 启动白屏问题,仅存在于android,是android应用的通病,ionic表示这锅它不背。...所以解决方式有好几种,可以看这两篇文章: Android启动页优化,去黑屏实现秒启动 Android启动页黑屏及最优解决方案 具体应用在ionic上可以参照这个: 快速解决ionic安卓主题启动时短暂的黑屏或白屏问题...我们可以验证一下,执行命令运行看效果: ionic run android 2、启动后黑白屏 ionic启动页使用了cordova-plugin-splashscreen这个插件,插件配置应用的config.xml...2)一直显示,直到应用加载完成后调用关闭 打开config.xml,主要添加或修改下面语句即可: 然后打开app.component.ts,发现下面代码,这里就是手动关闭了,所以我们不需要改动。

3.5K60

【Flutter】Flutter 启动白屏问题 ( 问题描述 | launch_background.xml 中设置启动过渡 UI )

文章目录 一、Flutter 启动白屏问题 二、 launch_background.xml 中设置启动过渡 UI 三、博客源码 一、Flutter 启动白屏问题 ---- 启动 Flutter 应用..., Launcher 主界面中 , 点击 Flutter 应用图标 , 之后出现白屏 1 ~ 5 秒 , 才能显示 Flutter 界面 ; 手机性能越高 , 白屏时间越短 ; 上述启动白屏问题..., 不需要做过多的设置 ; 打开 Flutter 工程下的 Android 工程的 , 可以看到如下注释 : <!..." /> 配置的 io.flutter.embedding.android.SplashScreenDrawable 参数 , 就是 Android 启动过后到 Flutter...渲染之前 , 显示的 Android 视图 , 该视图会慢慢淡出 ; 将 launch_background.xml 设置为如下配置 , 打开 第二个 item 注释 , 然后配置一个图片 ; <?

3.4K20

Flutter开发-发布时注意事项

启动白屏 Flutter 应用在 Android 端上启动时会有一段很明显的白屏现象,白屏的时长由设备的性能决定,设备性能越差,白屏时间越长....然后这个白屏是可以控制的,Android代码中的style.xml中有这样一段代码: <style name="LaunchTheme" parent="@<em>android</em>:style/Theme.Black.NoTitleBar...,那么<em>在</em>启动flutter代码之前就是黑屏了....这种错误的原因是Shell<em>在</em>执行命令的时候找不到变量,所以首先先确认自己用的Shell <em>打开</em><em>Android</em> Studio的配置 找到Tools=>Terminal 设置Shell Path 比如我用的Zsh...查看配置是否生效 echo $<em>ANDROID</em>_HOME 配置属性 <em>打开</em>配置文件 Bash open ~/.bash_profile Zsh open ~/.zshrc 添加如下配置 export <em>ANDROID</em>_HOME

1.1K20

React Native 启动白屏问题解决方案,教程

项目源码:react-native-splash-screen 问题描述: 用React Native架构的无论是Android APP还是iOS APP,启动时都出现白屏现象,时间大概1~3s(根据手机或模拟器的性能不同而不同...Android启动白屏解决方案 我们可以通过为React Native Android应用添加启动屏的方式,来解决启动白屏的问题。...我《React Native Android启动屏,启动白屏,闪现白屏》一文中介绍过一种为React Native Android应用添加启动屏的方法, 不过那种方法虽好,但牵扯到对React Native...《React Native Android启动屏,启动白屏,闪现白屏》一文中 我们使用的是根视图容器上添加一个视图作为启动屏,当js bundle加载并渲染完成后,再将添加的视图从根视图上移除。...iOS启动白屏解决方案 iOS中,iOS支持为程序设置一个Launch Image或Launch Screen File来作为启动屏,当程序被打开的时候,首先显示的便是设置的这个启动屏了。

2.6K60

开机黑屏或空白屏幕?

很多小伙伴开机时都碰到过吧? 这种情况不会经常发生,但有时可能会出现问题,导致你的设备显示黑屏或空白屏幕。...最近又是一大批的小伙伴问我,我知道,当谁这样都会很无助,不管你再怎么厉害,一开机它就是黑屏你能怎么办?想当初我可是足足等了十几分钟,才恢复正常界面,然后我才能开始修理我的电脑!...如果你屏幕上没有看到“电源” 按钮,请长按设备上的电源按钮 10 秒钟以将设备关闭。然后,按下并松开电源按钮以将设备重新打开。...操作 2:尝试打开任务管理器以重启 Windows 资源管理器 如果你黑屏或空白屏幕上看到某些内容或光标,请尝试打开任务管理器,以便你可以重启 Windows 资源管理器进程。...每次用光盘恢复系统之后,第一次开机就会黑屏,等待长达十多分钟之后,更新了显卡驱动,问题迎刃而解,再也没出现过!!!

7.3K21

关于APP冷启动与热启动的区别及冷启动出现的白屏解决办法

app热启动: 当应用已经被打开, 但是被按下返回键、Home键等按键时回到桌面或者是其他程序的时候,再重新打开该app时, 这个方式叫做热启动(后台已经存在该应用进程)。...其次就是关于冷启动出现的白屏解决问题,排除是代码的逻辑繁琐产生的启动白屏或是黑屏问题(可以启动页设置一个图片,当启动完图片的时候会不会出现黑屏或者是白屏来判断是不是代码的逻辑问题,具体设置方法底文给出...android studio 2.0.0 之后instant run 中的 开发阶段会出现白屏,不过不要担心,这算是as 的一个副作用, release版本就不会出现这种情况了。...如果有的话, 那么就可以设置: style.xml文件中为启动的Activity设置主题,设置android:windowBackground属性为启动Activity显示的闪屏图片,这样才有APP

73220

启动优化

比如开机后,点击屏幕的app图标启动应用。 冷启动的过程主要分为两步: 1)系统任务。加载并启动应用程序;显示应用程序的空白启动窗口;创建APP进程 2)APP进程任务。...比如返回Home后,又继续使用其他的APP,时间久了或者打开的应用多了,之前应用的Activity有可能被回收了,但是进程还在。...优化方案 1)消除启动时的白屏/黑屏 App启动的时候会有一个白屏/黑屏时间,我们可以通过设置windowBackground属性来给启动的Activity提供一个drawable,这样就给用户一个快递启动的假象了...有些库不需要在主线程进行初始化,那么我们就可以子线程中进行初始化,进行异步加载。 延迟加载。...4)预加载数据 我们的启动页或者主页可以将一些要用到的数据保存到内存或者数据库,那么其他页面要用到这些数据的时候就可以直接使用并显示了。

91430

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

写在前面 记得本月初,我发表了一篇文章叫《 Android Studio新功能解析,你真的了解Instant Run吗?》...不过对于这个功能也有不少朋友提出了疑问,比如我我的博客评论区就看到了这样的评论: ? 关于首次启动程序白屏时间过长这个问题其实我也早就发现了,而且正如评论中所说,有的时候白屏时间可以长达七八秒。...问题重现 我初次发现这个问题是升级了Android Studio 2.0之后,当时Android Studio的版本是从1.5直接升级到了2.0,一个如此大版本的跨跃说明改动肯定是比较大的。...打开build.gradle文件查看一下,代码如下所示: buildscript { repositories { jcenter() } dependencies...其实说白了,我们担心这个长时间白屏会损伤用户体验纯粹是杞人忧天,Google早就帮我们都考虑过了,release版的程序是不会出现这种现象的。

1K50
领券