美文网首页高级UI安卓UI
启动页+广告页实现优化

启动页+广告页实现优化

作者: 多少人_b21f | 来源:发表于2019-03-05 17:16 被阅读39次

前言

每个app中都有启动+广告这个功能逻辑,或多或少,每个公司的逻辑都不大一样,最近我优化了一版广告业+启动页面逻辑,遇到了一些问题,同大家分享一下

流程图

image.png

优化

我们在启动页面的时候如果直接把"启动图"写在Launcher的activity里面就会出现打开的一瞬间出现白屏现象,所以我们需要针对launcher对应的activity在AndroidManifest.xml中设置一个属于他自己的theme,设置一个windwoBackground,本人代码如下:

<style name="MyTheme_Full_Splash" parent="Theme.AppCompat.Light.NoActionBar">
  <!--android:windowFullscreen 是否展示全屏 -->
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowBackground">@mipmap/loading_bg</item>
</style>

同时尽量不要再Application里面写一些耗时操作,比如handler等待,静态操作,轮询等耗时操作,以免点击app的时候给用户造成卡顿的错觉,尽量写一个静态的类,然后在launcher的初始化的时候赋值一下就OK

代码

广告业比较特殊,上面是一张图片,下面是我方的一个logo图.图片框架用的Glide,项目运行应该是不正常的,请看下方问题+解决来修改项目,以确保正确运行,也是为了让读者发现并且知道这个问题.以防以后出现这种问题花费时间解决.

项目Github地址

问题+解决

Glide加载图片加载不出来,listener回调也没有走到成功或者失败的回调函数中.开始我以为是Glide的配置有问题,我查看Glide日志也没有发现任何问题,经过层层排查,最后将问题锁定在高度绘制,我们都知道Glide绘制是需要有宽高的,但是因为开始需要显示启动页,广告页加载出来才可以显示广告页,所以我把广告页面的布局Gone.然后我看LinearLayout的源码发现 image.png

如果等于Gone竟然不去绘制View的高度,RelativeLayout也同样,大家可以去看一下,我果断把Gone改成了invisible,结果发现还是不显示,然后我去打印,结果发现高度还是为0,接着查看源码结果发现子View里面设置了weight,也没办法获取高度,我果断改成RelativeLayout,结果好使了,问题就是这些,但是我解决了好半天,最后感觉还是没事儿多看看源码,好使

修改

大家下载了Demo 的话,需要把 activity_splash.xml 里面的LinearLayout修改成RelativeLayout,并且把ImagView的weight去掉,然后用marginBottom设置距下面的距离,这样就是一个完整的启动页+广告页的完整项目.

相关文章

  • 启动页+广告页实现优化

    前言 每个app中都有启动+广告这个功能逻辑,或多或少,每个公司的逻辑都不大一样,最近我优化了一版广告业+启动页面...

  • iOS 广告页的实现

    现象: 诚然、现在很多app启动后除了启动页,还会加一个广告页。今天我们就来说下广告页的实现。 分析(3部分组成)...

  • 3、android产品研发-基类Activity

    在上一篇文章中我们介绍了在android产品研发过程中,启动页的优化工作,比如启动页性能优化,启动页渐进动画效果,...

  • 关于android启动页优化建议

    android启动页优化 启动页也称之为闪屏页,就是在android应用第一次...

  • Android App 启动页广告页图片的实现

    本文为仅学习记录 参考项目链接GitHub - Bakumon/UGank: 「有干货」Gank.io 第三方客户...

  • iOS广告页实现优化技巧

    之前做广告页的时候就一直想来总结一下几个版本优化时的思路,广告页不同于其他页面图片的原因是极其需要考虑弱网情况下的...

  • android启动优化

    感谢原作者涉及:应用启动流程启动优化(闪屏页优化、MultiDex 优化、WebView启动优化、启动耗时分析方法)

  • 启动launchOptions

    给启动页加上一页广告页,在收到通知跳应用是,不走启动页的rootvc设置方法。 做的判断是if(launchOpt...

  • iOS广告页的实现及注意点

    在大多数app启动过程中都会出现广告页,那么现在说说到底是如何实现的。 实现思路: 自定义一个广告页viewCon...

  • 【Android】隐藏底部虚拟按键

    Android隐藏底部虚拟按键 使用场景:欢迎页 启动页 广告页 展示页... Google的官方文档是: htt...

网友评论

    本文标题:启动页+广告页实现优化

    本文链接:https://www.haomeiwen.com/subject/bmmruqtx.html