每次启动app时总会闪一下黑屏,时间很短,一闪而过但是还是可以看的很清楚,虽然不影响运行,但是用户体验性极差,效果如图。

初感觉是app加载的问题,网上查相关资料后,该问题出现还是跟Activity生命周期有关的。通常情况,我们都是在onCreate或是onResume中设置显示界面,所以在这之前会有一段空白期,这就是黑屏期。

解决方法就是自定义theme用于启动的activity,其中对于theme的设置分两种,设置背景图和设置透明:

   //1、设置背景图Theme<style name="Theme.AppStartLoad" parent="android:Theme">  <item name="android:windowBackground">@drawable/ipod_bg</item>  <item name="android:windowNoTitle">true</item>  </style>//2、设置透明Theme<style name="Theme.AppStartLoadTranslucent" parent="android:Theme">  <item name="android:windowIsTranslucent">true</item> <item name="android:windowNoTitle">true</item>  </style>

在启动的activity运用:

   <activityandroid:name=".activity.GuideActivity"android:theme="@style/Theme.AppStartLoad"android:screenOrientation="portrait"><intent-filter><action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/></intent-filter></activity>

两种方法都能解决闪黑屏问题,但效果不同:

设置背景图:用户桌面点击app图标后即可看到此背景图,稍后进入启动的activity,给人感觉进入app很快

设置透明:点击app图标后会有短暂时间停留在桌面,其实已经进入了app,只是设置了透明,稍后直接进入activity

根据我的观察,目前市场上app大都采用的第一种方案,像新浪微博、淘宝、美团、优酷等,背景图都是app名称和图标,简约有不失大气。

【Android】自定义theme解决进入app闪黑屏问题相关推荐

  1. 【Android】解决启动APP闪黑/白屏

    前言 问题:在App启动过程中会出现闪白屏或黑屏的一段时间才进入布局界面.这样的体验十分不好. 首先来了解一下 冷启动 当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用, ...

  2. 【转】Android 避免APP启动闪黑屏(Theme和Style)

    前几天Boss就反应说,机器每次启动程序都会闪一下黑屏,这个客户不接受.没办法,只能想想怎么解决,最后找到了下面的方法.闪黑屏的原因主要是我们启动Activity的时候,需要跑完onCreate和on ...

  3. Android 避免APP启动闪黑屏的解决办法

    闪黑屏的原因主要是我们启动Activity的时候,需要跑完onCreate和onResume才会显示界面 前几天Boss就反应说,机器每次启动程序都会闪一下黑屏,这个客户不接受.没办法,只能想想怎么解 ...

  4. Android应用启动闪黑屏

    闪黑屏的原因主要是我们启动Activity的时候,需要跑完onCreate和onResume才会显示界面.也就是说需要处理一些数据后,才会显示.按照这种思路,是不是我把初始化的工作尽量减少就可以避免黑 ...

  5. 【转】Android APP 启动黑屏优化补丁 (2016-01-18 10:35:23)

    [转]Android APP 启动黑屏优化补丁 (2016-01-18 10:35:23) 转载▼ 这个必须转,这才是高手,解决官方都解决不好的问题! 原文地址,以下为转贴内容: 使用说明 ***** ...

  6. Android 启动APP时黑屏白屏的三个解决方案

    Android 启动APP时黑屏白屏的三个解决方案 参考文章: (1)Android 启动APP时黑屏白屏的三个解决方案 (2)https://www.cnblogs.com/liqw/p/42634 ...

  7. android 接电话 返回后黑屏,安卓手机打电话黑屏怎么办?解决安卓接电话黑屏

    现在的手机市场几乎被iphone和安卓手机占领着,相信你或者你的周围绝大部分朋友都有安卓手机,到那时是手机多少都会出点问题,小编自己就遇到过,使用安卓手机打电话时竟然黑屏.如果说偶尔遇到一两次,那也就 ...

  8. Android Studio 打开Profiler后App闪退

    Android Studio 打开Profiler后App闪退 环境 Android Studio 4.1.1 Android 10 错误信息: 2020-12-24 16:06:21.870 300 ...

  9. win10任务栏一点就卡死或闪黑屏解决办法

    前言 最近电脑一开机,任务栏一点就卡死或者闪黑屏,一开始以为是我电脑出问题了,但实际是win10系统自动更新后,系统的原因. 一.现象 开机后,任务栏点击没反应,卡死,闪黑屏. 二.原因 原因是win ...

最新文章

  1. 计算机在线咨询,计算机科学与技术
  2. C#利用Graphics类绘制进阶--根据文字内容自动生成指定旋转角度图片
  3. 程序员上了天堂之后...
  4. 图解:从单个服务器扩展到百万用户的系统
  5. 安装python应该先安装pycharm还是python_Pycharm及python安装详细步骤及PyCharm配置整理(推荐)...
  6. DedeCMS生成首页html静态文件的教程
  7. ASP.NET MVC 源代码 剖析
  8. 很慢怎么办_手机信号满格,网速却很慢怎么办?3招教你一键恢复网络
  9. python -pass的用法
  10. VB如何实现Undo(撤消)功能
  11. Linux Semaphore
  12. 服务器装系统报0x0000005d,Win8系统安装过程中提示ErrorCode:0x0000005D怎么办
  13. 在VUE中使用Echarts世界地图,并根据经纬度标记位置
  14. DirectShow之视频处理
  15. Java代码加密混淆工具有哪些?
  16. 【机器学习】简述多种降维算法
  17. python爬虫爬取百度图片总结_爬虫篇| 爬取百度图片(一)
  18. java 后台开发中model与entity(实体类)的区别
  19. skywalking全链路追踪
  20. 【Visual c++】+【EasyX】游戏组件1 移动的小人

热门文章

  1. “2017中国海度日”成功举办,海度生态共迎日本大数据物联网解决方案的中国机会
  2. 提供“无码”应用程序开发工具包,Skuid获2400万美元融资
  3. vue 前端设置允许跨域_vue——前端跨域
  4. Unreal UE4 、角色换色解决方案—多象限UV—及渲染材质到贴图(CanvastoRenderTarget)(渲染多象限UV)
  5. 7-27 从身份证号码中提取出出生年月 (12point(s))
  6. ubuntu无线优先上网
  7. jenkins远程构建job_JENKINS触发远程构建功能使用
  8. i9 9900k mysql_英特尔 i9-9900K 处理器现身跑分库:频率 5.0GHz,共有 16 线程
  9. ILRuntime:ILRuntime寄存器模式详解
  10. 技术动态 | ChatGPT 下的知识图谱审视:一次关于必然影响、未来方向的讨论实录与总结...