`
zhenping
  • 浏览: 83873 次
  • 性别: 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设置虚线、圆角、渐变

    在Android开发中,为UI元素添加虚线、圆角和渐变效果是常见的需求,可以提升应用的视觉吸引力。下面将详细讲解如何实现这些效果。 ### 一、虚线(Dashed Line) 在Android中,我们可以使用`Shape Drawable`来创建...

    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 SipDemo( 网络电话的例子源码,android 2.3以上才能用)

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

    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 sdk27版本

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

    android检测U盘插拔事件

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

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

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

    Android 8.0.0 (API 26) SDK Platform

    使用: export ANDROID_HOME="/opt/android-...# mv /opt/android-sdk/platforms/android-8.0.0 /opt/android-sdk/platforms/android-26 官网下载地址:https://dl.google.com/android/repository/platform-26_r01.zip

    Android一键清理后台实现

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

    Android studio 小案例

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

    VB for Android12.12

    《VB for Android12.12:VB语言在Android开发中的新里程碑》 VB(Visual Basic)是微软公司推出的一种面向对象的编程语言,以其易学易用的特点深受程序员喜爱。随着移动应用市场的繁荣,VB也开始拓展到Android平台...

    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)。这个版本带来了许多显著的变化和更新,为开发者提供了新的特性和功能。下面将详细介绍`...

Global site tag (gtag.js) - Google Analytics