在为自己阅读一些文献的过程中,我注意到应用程序中方法调用的一个细微差别Android
,即生命周期方法Activity
不是由我们实现和放置它们的应用程序调用的。由系统根据用户的操作或系统中的情况调用。系统通过这些方法通知应用程序有关状态的变化。也就是说,我们在这些方法中指定了当系统通知该应用程序时对应用程序执行什么操作,在这种情况下,通知生命周期更改事件。
由于某种原因,我以前没有注意这一点。
以下是有趣的。除了生命周期方法之外,在应用程序中编写/指定的其他方法是由系统直接调用的,而不是由应用程序调用的?问这样的问题是否正确?
一般来说,所有被标记
@override
并且不是来自你的班级继承人的东西都属于系统。特别是对于一个活动,您可以将光标放在活动类上,然后按 CTRL + O(覆盖方法 ..,也在主菜单中:代码 -> 覆盖方法)并查看可以覆盖哪些方法。基本上,系统响应是回调,(就像一个生命周期),您可以通过名称中的初始on-来识别回调,例如
onCreate()
。系统调用的一些回调(这里不包括生命周期回调):
onConfigurationChanged()
- 配置更改(语言、方向、设备连接等的更改)onBackPressed()
- 按下系统按钮“返回”onSaveInstanceState()/onRestoreInstanceState()
- 写入/恢复状态onTouchEvent()
- 屏幕触摸onRequestPermissionsResult()
- 许可请求的结果onLowMemory()
- 内存不足您所说的系统本质上是一个部署应用程序的容器。容器接收来自外部的请求并根据需要创建某些应用程序对象。那些。我们无法确定应用程序中对象的创建时刻,甚至可能是创建它们的顺序,但容器本身决定了要创建哪些对象以及它们的生命周期是什么。除了您的应用程序之外,此容器还可以包含许多其他应用程序,当然还有开发人员可能根本不知道的各种系统变量和对象。应用程序开发人员的任务是编写一个满足该容器要求的应用程序。而容器开发者的任务是创建一个实现所有必要接口的容器,