• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 手机影音1--SplashActivity,1--splashactivity

手机影音1--SplashActivity,1--splashactivity

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了暴风影音手机安卓版,影音先锋手机版下载,影音先锋苹果手机版,影音先锋手机版,手机暴风影音等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

手机影音1--SplashActivity,1--splashactivity


/**
 * 1.设置被启动的Activity为单例模式
 */

public class SplashActivity extends Activity {

    /**
     * 是否已经启动主页面
     */
    private boolean isStartMain = false;

    private static final String TAG = SplashActivity.class.getSimpleName();

    private  Handler handler = new Handler();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);

        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                //这个方法执行是在主线程
                Log.e(TAG, "当前线程的名称:" + Thread.currentThread().getName());
                startMainActivity();
            }
        }, 3000);
    }

    /**
     * 启动主页面
     */
    private void startMainActivity() {
        if(!isStartMain){
            isStartMain = true;
            Intent intent = new Intent(this,MainActivity.class);
            startActivity(intent);
            finish();//关闭当前页面
        }
    }

    @Override
    protected void onDestroy() {
//       isStartMain = true;
         handler.removeCallbacksAndMessages(null);//把消息队列里面的所有回调和消息移除
          super.onDestroy();
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        startMainActivity();
        return super.onTouchEvent(event);
    }
} 

1.Handler在哪个线程new,Runnable就在哪个线程执行  

 

2.有一个bug,启动了多次Activity,如何解决?

 方法①.设置为启动的Activity只能是单例。
  在功能清单文件android:launchMode="singleTask"
 方法②.从源头上控制,执行代码只一次

private boolean isStartMain = false;
/**
 * 跳转到主页面,并且把当前页面关闭掉
 */
private void startMainActivity() {
	if(!isStartMain){
		isStartMain = true;
		Intent intent = new Intent(this,MainActivity.class);
		startActivity(intent);
		//关闭当前页面
		finish();
	}
}

  

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 手机影音1--SplashActivity,1--splashactivity

相关文章

  • 2017-05-26使用Merge INTO优化SQL,性能提升巨大
  • 2017-05-26开发 Material Design+RxJava+Retrofit+MVP App 参考资料,rxjavaretrofit
  • 2017-05-26Android 交错 GridView,androidgridview
  • 2017-05-26有了malloc/free,为什么还要new/delete?
  • 2017-05-26Android版本和API Level对应关系,androidlevel
  • 2017-05-26Android GZIP压缩IO流,优化APP数据传输(一),androidapp
  • 2017-05-26ViewPager+GridView实现首页导航栏布局分页效果,viewpagergridview
  • 2017-05-222.4.6 BaseAdapter优化
  • 2017-05-26Android 一个改善的okHttp封装库,androidokhttp
  • 2017-05-26Android Studio 快捷键

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Xamarin android 的WebClient Json下载并存储本地及sqlite数据库,xamarinsqlite
    • 7.1.1 Android网络编程要学的东西与Http协议学习
    • 「视频直播技术详解」系列之五:延迟优化,
    • Android中接收系统广播消息
    • 自定义图片轮播,简单就是好用,自定义图片轮播
    • 2.5.7 Toast(吐司)的基本使用
    • include的用法例子,以及include+merge的用法例子,includemerge
    • 【微学堂】第22期| Nginx的性能优化
    • 美女的秘密项目源码,美女秘密项目源码
    • Android之Dedug--Circular dependencies cannot exist in AnimatorSet,circular

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有