Splash广告界面
在软件开始启动时都是会使用一个splashActivity实现联网判断和相关资源的加载,在一款网络软件上开始时的缓存加载和网络判断可以为用户节省不必要的流量开销。
使用handler延时启动下一个activity
/**
* Created by ShengXi on 2018-04-18.
* 我们都知道在使用Handler来进行消息通讯的时候由于Activity持有Handler的强引用容易导致页面无法回收造成内存泄露的危险。
* 在网上提出了一些解决方案大都是将强引用改为使用WeakReference的弱引用来避免对象无法回收的状况发生
*/ public class BaseHandler <T extends BaseHandler.BaseHandlerCallBack>extends Handler{ WeakReference <T> wr;
public BaseHandler(T t){ wr = new WeakReference<T>(t);
} @Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
T t = wr.get();
if(t!=null)
t.callBack(msg);
} public interface BaseHandlerCallBack{ public void callBack(Message msg);
}
}
实际用法和handler一样但是可以避免内存泄漏
private Handler handler = new BaseHandler<>(new BaseHandler.BaseHandlerCallBack() {
@Override
public void callBack(Message msg) {
if (msg.what == ){
CategoryAdapter categoryAdapter = new CategoryAdapter(CategoryActivity.this,dataBean);
listview.setAdapter(categoryAdapter);
} }
});
private Handler handler = new BaseHandler<>(new BaseHandler.BaseHandlerCallBack() {
@Override
public void callBack(Message msg) {
if (msg.what == MSGONE){
Intent in = new Intent(SplashActivity.this, MainActivity.class);
SplashActivity.this.startActivity(in);
finish();
} }
}); //延时3秒启动 handler.sendEmptyMessageDelayed(MSGONE, 3000);
但是再启动app时又会遇到白屏或者黑屏,根据网上的资料是说,不同的设备可能白屏黑屏显示的时间长短不同,设备硬件较差的时间都会比较长,设备在启动应用时系统和app会去检查和创建进程,这是就会留下空挡的时间不去加载布局,就会产生白屏或者黑屏,会优先显示窗体,网络的解决办法是:
为activity设置窗体背景
1.设置自定义style,让窗体显示的背景为app的logo
<style name="Theme.AppLauncer" parent="@android:style/Theme.NoTitleBar.Fullscreen">
<item name="android:background">@mipmap/icon1</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowActionBar">false</item>
</style>
2.在配置文件中调用activity的theme
<activity android:name="com.example.shengxi.eie.activity.SplashActivity"
android:theme="@style/Theme.AppLauncer">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
以上只是简单优化,后续介绍更多,方便给初入门的你。
Splash广告界面的更多相关文章
- 2.Android高仿网易云音乐-引导界面和广告界面实现
效果图 效果图依次为图片广告,视频广告,引导界面. 系列文章目录导航 目录 1.实现分析 广告界面就是显示图片和视频,所以可以放一个图片控件,视频控件,然后跳过按钮,提示按钮,WiFi预加载提示都是放 ...
- 10.3制作Android Splash启动界面
共分三步: 1.制作.9.png图片 可以参考这个文章. 2.修改项目文件,使用.9.png图片 用笔记本打开项目文件,先找到在项目中设置的Splash文件名,并改成第一步制作的.9.png文件名.例 ...
- HTML+CSS基础知识(4)简单的广告界面
文章目录 1.网页实例 1.1 代码 1.2 测试效果 1.网页实例 1.1 代码 css样式 /* 清除页面样式 */ *{ margin:0; padding: 0; } /* 统一页面的样式 * ...
- Android实现Banner界面广告图片循环轮播(包括实现手动滑动循环)
前言:经常会看到有一些app的banner界面可以实现循环播放多个广告图片和手动滑动循环.本以为单纯的ViewPager就可以实现这些功能.但是蛋疼的事情来了,ViewPager并不支持循环翻页.所以 ...
- 浅谈Android的广告欢迎界面(倒计时)
前些时候就是别人问我他的android APP怎么做一个广告的欢迎界面,就是过几秒后自动跳转到主界面的实现. 也就是下面这种类似的效果.要插什么广告的话你就换张图吧. 那么我就思考了下,就用了andr ...
- Android高仿网易云音乐-启动界面实现和动态权限处理
效果 实现分析 基本上没有什么难点,就是布局,然后显示用户协议对话框,动态处理权限,判断是否显示引导界面,是否显示广告界面等. 布局 <?xml version="1.0" ...
- delphi XE5下 andriod 广告图片的demo
试了一下,关于好几个广告界面,左右滚动的效果:用TabControl 加上定时器实现即可. 1.TTabControl外观 TTabControl的外观由属性TabPosition控制,可选项包括: ...
- 如何在Android应用中加入广告
转载自:http://mobile.51cto.com/aprogram-387527.htm 目前我自己的一款小程序中正进行到加入广告阶段,BAIDU了一下,找到如下好文章,非常有必要共享一下,故转 ...
- Android应用盈利广告平台的嵌入方法详解
一.如何学习Android android开发(这里不提platform和底层驱动)你需要对Java有个良好的基础,一般我们用Eclipse作为开发工具.对于过多的具体知识详细介绍我这里不展开,我只 ...
随机推荐
- Titanic幸存预测分析(Kaggle)
分享一篇kaggle入门级案例,泰坦尼克号幸存遇难分析. 参考文章: 技术世界,原文链接 http://www.jasongj.com/ml/classification/ 案例分析内容: 通过训练集 ...
- Java六大设计原则
类的设计原则 依赖倒置原则-Dependency Inversion Principle (DIP) 里氏替换原则-Liskov Substitution Principle (LSP) 接口 ...
- 20155305 2016-2017-2 《Java程序设计》实验二 Java面向对象程序设计
实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步骤 单元测试 1. ...
- NIS - 深入了解如何搭建NIS环境
第一篇[NIS]深入了解NIS 1 环境准备 操作系统:CentOS7.2 服务端安装如下软件: 软件名称 功能 ypserv NIS Server端的服务进程 rpcbind 提供RPC服务 ...
- 【替罪羊树】bzoj3224&luogu3369&cogs1829 [Tyvj 1728]普通平衡树
[替罪羊树]bzoj3224&luogu3369&cogs1829 [Tyvj 1728]普通平衡树 bzoj 洛谷 cogs 先长点芝士 替罪羊树也是一种很好写的平衡树qwq..替罪 ...
- async+await 让界面飞,让双手爽
.net 4.5已经发布很久了,但是一直也没有静下心来好好的研究微软给开发者带来的喜悦. 今天我将简单的介绍下 async + await 这对搭档的出现,如何让频繁假死的界面飞起来(其实只是不再阻塞 ...
- mongod 安装
mongod --logpath F:\mongo\db\logs\logs.log --logappend --dbpath F:\mongo\db\data --directoryperdb -- ...
- 转 gerrit
开发环境 https://blog.csdn.net/u013207966/article/details/79112740 先记录下我的开发环境以及要正确安装gerrit需要用到的工具: Redha ...
- Lua学习笔记(4): 字符串
Lua的字符串有3种初始化方式 str = "2333" str = 'hahahaha' str = [[ruarua]] 其中单引号和双引号的初始化方式并无区别,[[]]双中括 ...
- 程序员必备神器--vps主机
今天推荐一个功能强大.居家必备的神器给刚入行或还不了解它的同学们.且不说它有什么功能,它有多好用,先说先你有没有碰到过这些问题吧. 用百度查技术问题,发现都是互相抄袭和广告,大佬都说google好,但 ...