android 白屏

从首篇介绍我为什么写文章到现在已经过去好久.......(懒),但从此刻开始,不出意外情况每周给大家至少写一篇文章,就按平时app开发流程以及本人遇到的问题,从app欢迎页面开始吧!

一:为什么会有欢迎页面?

使用欢迎界面(也叫启动页)的目的是:“缓冲”,在用户首次进入app,app总要去服务端获取部分数据,而获取数据是需要时间的,开发者为了不让用户干等,就设计欢迎界面做缓冲,等获取数据完毕就进行下一步操作,当然也有别的目的,如:宣传推广广告等。

二:欢迎页面之前可能遇到的问题?

1.我遇到过用户点击进入app,出现白屏。

原因:出现的原因:(1)启动页进入onCreate()里的setContentView()前后布局进行了太多的操作.

                                (2)如果有application,也可能是application进行了太多初始化操作,解决办                                  法:(2.1)从精简application的代码入手,每个人视情况而定。

                                    (2.2)在application的theme下的style标签下添加一个item标签< item name="android:windowIsTranslucent" >true,设置这个属性后如果有如果原来有切换动画的话,这个动画会消失。

    ok,那我们先来考虑启动页布局耗时太长的解决方法。

    方法一:给启动页设置theme.(不推荐),原因:这张splash图片是写在theme中的,图片的内存释放不掉。

直接上图吧:

AndroidMainfest.xml设置:

style中,都有注释。

<style name="Theme.Start" parent="Theme.AppCompat.Light.NoActionBar">

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

<item name="name="android:windowBackground">你自己的背景图</item>

<style/>

最后onCreate()

View view = View.inflate(this, R.layout.activity_welcome,null);

//取消状态栏,全屏

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

        WindowManager.LayoutParams.FLAG_FULLSCREEN);

setContentView(view);

第二种方法:注意此方法还有几毫米的白屏但效果已经很好了,对内存影响小。

//在activity的onCreate方法的super前给window设置背景getWindow().getDecorView().setBackgroundResource(R.drawable.welcome);

ok,介绍完毕,先讲这么多,别急,慢慢来。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏移动开发之家

利用百度地图实现支付宝“到位”功能(地图模式)

算了,还是聊今天我们要说的,支付宝的“到位”功能。新版支付宝上方第四个tab,传闻丈母娘足不出户,同城招女婿的神兵利器。反正上面那些一块钱看看花、逛逛街、喝喝酒...

27210
来自专栏三好码农的三亩自留地

Android触摸事件传递(上)

    前言:智能手机早已成为我们今天身边必不可少的手持设备,iOS和Android也是目前主流的二大移动操作系统,当然也有越来越多的开发者加入到移动开发的工作...

14730
来自专栏小白安全

ClickJacking攻击-获取管理员权限

前言 有一段时间没做测试了,偶尔的时候也会去挖挖洞。本文章要写的东西是我利用ClickJacking拿下管理员权限的测试过程。但在说明过程之前,先带大...

339110
来自专栏james大数据架构

Android一些关于分辨率和布局的设置

1、Android手机屏幕大小不一,有480x320, 640x360, 800x480.怎样才能让App自动适应不同的屏幕呢? drawable- hdpi、...

21890
来自专栏拂晓风起

createjs入门

20030
来自专栏林德熙的博客

WPF 修改按钮按下的颜色

如何在按钮按下时使用这个附加属性修改按钮颜色?实际重写按钮的样式可以看到,在按下时可以修改颜色

1.3K10
来自专栏禅林阆苑

小程序开发总结02 - 开发技巧和第三方插件的使用

es6的Promise让异步接口的处理变得轻松,在旧版本的小程序中并不原生支持Promise,需要引入第三方库,例如:https://github.com/st...

1.1K60
来自专栏Sorrower的专栏

界面无小事(八):RecyclerView增删item

15030
来自专栏進无尽的文章

实践-做一个会性能调优的好猿

对于每位 iOS 开发者来说,代码性能是个避不开的话题。随着项目的扩大和功能的增多,没经过认真调试和优化的代码,要么任性地卡顿运行,要么低调地崩溃。一般性能测试...

9120
来自专栏IMWeb前端团队

React-Native简介

React-Native 基于目前React来开发IOS原生应用,Android版本将在年底推出。 为什么需要React-Native 目前主流的应用大体分成三...

341100

扫码关注云+社区

领取腾讯云代金券