`
zhenping
  • 浏览: 82907 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

Android 的onApplyThemeResource onWindowFocusChanged onAttachedToWindow

 
阅读更多

之前看Googl提供的Android API 没有发现有onWindowFocusChanged(boolean hasFocus)这个方法,我还以为Activity的生命周期就只有那表述的7个方法而已

无意中测试的项目的时候发现了这个方法,我就随意的测试了一下,Activity 启动的时候最先调用的是这个onApplyThemeResource(Theme theme, int resid, boolean first)

方法,然后依次是:onCreate(Bundle savedInstanceState)---->onContentChanged()--->onStart() ---->onResume()----->onPostResume()---->onAttachedToWindow() ---->onWindowFocusChanged(boolean hasFocus)------>onPause()---->onWindowFocusChanged(boolean hasFocus)--->onStop() ---->onDestroy()

到这里我发现Android本身就是一个大框架,这些方法不管你使用与否,Android本身会自动去执行,想要测试这些方法也很简单,可以在这些方法里面写一些代码,然后看Activity的效果。

Activity生命周期中,onStart, onResume, onCreate都不是真正visible的时间点,真正的visible时间点是onWindowFocusChanged()函数被执行时。
从onWindowFocusChanged被执行起,用户可以与应用进行交互了,而这之前,对用户的操作需要做一点限制。一下这些都可以在这个方法内获取

this.getActionBar();
this.getApplicationContext();
this.getBaseContext();
this.getApplicationInfo();
this.getCallingPackage();
this.getChangingConfigurations();
this.getClassLoader();
this.getExternalCacheDir();
this.btnLogin.getWidth();

Android框架有很多有趣 的操作,细细的琢磨肯定能发现很多亮点。。。



分享到:
评论

相关推荐

    Android串口通信(Android Studio)

    在Android开发中,串口通信(Serial Port Communication)是一种重要的技术,它允许设备之间通过串行接口进行数据交换。在Android Studio环境下实现串口通信,开发者可以构建与硬件设备交互的应用,例如读取传感器...

    JS调用Android方法,向Android方法传递json数据

    在现代的移动应用开发中,JavaScript与原生平台之间的交互变得越来越常见,特别是在使用Android的WebView组件时。本文将深入探讨如何使用JavaScript调用Android的方法,并传递JSON数据,以实现两者之间的高效通信。 ...

    Android扫雷游戏(基于Android Studio)

    【Android扫雷游戏开发详解】 在移动开发领域,Android Studio是Google推出的官方集成开发环境(IDE),用于构建Android应用程序。本项目"Android扫雷游戏"就是利用Android Studio进行开发的一个实例,旨在帮助初学...

    Android 7.1.1 (API 25) SDK Platform 下载

    # mv /opt/android-sdk/platforms/android-25/android-7.1.1/* /opt/android-sdk/platforms/android-25/ # rm -rf /opt/android-sdk/platforms/android-25/android-7.1.1 官网下载地址:...

    Android开发入门60个小案例+源代码

    在Android开发领域,初学者经常会面临许多挑战,如理解Android应用程序的基本架构、学习XML布局、掌握Java或Kotlin编程语言,以及如何与设备硬件交互等。"Android开发入门60个小案例+源代码"这个资源提供了丰富的...

    Android BLE蓝牙例子(包括android版Lightblue)实例源码

    源码里面有Bluetooth4_3/BLEDemo/Android_Lightblue.apk三个.前两个是BLE的demo。BLEDemo这个功能较Bluetooth4_3多一些,有兴趣的可以都看下。Android_Lightblue.apk是Android版的lightblue,在进行ble开发的时候用...

    Android之基于RTP/RTSP即时通讯-Android源码

    在Android平台上,即时通讯(Instant Messaging,简称IM)已经成为移动应用不可或缺的一部分,而结合视频通信功能则让用户体验更上一层楼。本项目“Android之基于RTP/RTSP即时通讯-Android源码”正是这样的一个解决...

    50款Android studio项目源码.zip

    《Android Studio项目源码解析与学习指南》 在Android应用开发的世界中,Android Studio作为官方推荐的集成开发环境(IDE),已经成为开发者们的首选工具。本文将深入探讨"50款Android studio项目源码.zip"这一资源...

    android应用开发范例精解

    第2篇为应用开发篇,通过实例介绍了Android UI布局、Android人机界面、手机硬件设备的使用、Android本地存储系统、Android中的数据库、多线程设计、Android传感器、Android游戏开发基础、Android与Internet,以及...

    Android SipDemo( 网络电话的例子源码,android 2.3以上才能用)

    Android SipDemo是一个示例应用,它展示了如何在Android平台上实现网络电话功能,特别是针对Android 2.3(Gingerbread)及以上版本。这个项目基于Android的SIP(Session Initiation Protocol)API,这是一种用于...

    android检测U盘插拔事件

    在Android系统中,检测U盘(USB存储设备)的热插拔事件是一项常见的需求,尤其在开发与USB设备交互的应用时。"android检测U盘插拔事件"这个标题揭示了我们要探讨的核心技术点:如何在Android应用中监听并处理U盘的...

    android sdk27版本

    Android SDK是Android应用程序开发不可或缺的一部分,它为开发者提供了构建、测试和调试应用所需的各种工具。在本场景中,我们关注的是Android SDK的27版本,这对应于Android 8.1.0,也称为Oreo。这个版本的SDK包含...

    WebRTC的Android实现 源码下载 包括服务器,pc端,android端

    在Android平台上实现WebRTC,首先需要理解其核心组件和工作流程。WebRTC的架构包括以下关键部分: 1. **信令层**:这是WebRTC系统中用于建立和管理连接的部分。它处理会话邀请、媒体协商以及传输控制协议(如SIP或...

    Android一键清理后台实现

    在Android平台上,开发一款“一键清理后台”应用可以帮助用户快速释放设备内存,提高系统运行速度。这个功能通常包括清理正在运行的应用程序、终止不必要的服务以及管理后台进程。下面将详细介绍如何在Android 4.4...

    Android studio 小案例

    在Android开发领域,Android Studio是谷歌官方推荐的集成开发环境(IDE),用于构建高质量的Android应用。本小案例将深入探讨如何使用Android Studio进行实际项目开发。以下将详细介绍Android Studio的一些核心功能和...

    Android TextView 45度倾斜旋转效果

    在Android开发中,TextView是用于显示文本的基本组件。在某些设计需求中,我们可能需要将TextView的文字或整个组件进行一定角度的倾斜展示,比如45度。本篇将详细讲解如何实现Android TextView的45度倾斜旋转效果。 ...

    android-sdk\platforms\android-21

    在Android开发领域,`android-21`是一个重要的版本,代表了Android操作系统的API级别21,也称为Android Lollipop(5.0)。这个版本带来了许多显著的变化和更新,为开发者提供了新的特性和功能。下面将详细介绍`...

    Android点餐系统项目

    《Android点餐系统项目》是一门深度探讨如何在Android平台上构建无线点餐系统的视频教程,旨在教授学员如何利用Android技术实现一个完整的点餐系统,包括客户端和服务端的开发。这门课程涵盖了移动应用开发的多个...

    Android监听输入法软键盘按键demo

    在Android开发中,有时我们需要获取用户在软键盘上输入的信息,比如在聊天应用中实现自动补全或实时搜索功能。本文将深入探讨如何在Android应用中监听软键盘按键的三种方法,基于CSDN博主"zhufuing"的文章详情链接...

    android-sdk-4.2.2 android-sdk-4.2.2-platforms

    标题中的"android-sdk-4.2.2 android-sdk-4.2.2-platforms"指的是Android SDK的一个特定版本,即Android 4.2.2(API级别17),该版本的SDK平台组件。这个版本是Android操作系统的 Jelly Bean 版本的一部分,发布于...

Global site tag (gtag.js) - Google Analytics