很多初入Android开发的网页可能不知道Android程序的入口点是什么,不是main()吗,当然Android123也保证国内知道的不到1%,很多网友可能直接回复是onCreate,当然我相信回复onCreate的在字面上不算错,但是你们想的是Activity中的onCreate方法吧,这里Android开发网告诉下大家真正的入口点entrypoint是什么。
Android使用Google Dalvik VM,相对于传统Java VM而言有着很大的不同,在Sun的Java体系中入口点和标准c语言一样是main(),而每个Android程序都包含着一个Application实例,一个Application实例中有多个Activity、Service、ContentProvider或Broadcast Receiver。因为大部分的应用都包含Activity所以,说很多网友认为是Activity的onCreate,但是你没有发现你的工程中有多个Activity吗? 你可能没有见过没有Activity的Android应用吧。
其实在android.app.Application这个包的onCreate才是真正的Android入口点,只不过大多数开发者无需重写该类,他的继承关系如下图:
java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.app.Application
android.app.Application类包含了4个公开的方法
void onConfigurationChanged(Configuration newConfig)
void onCreate() //这里才是真正的入口点。
void onLowMemory()
void onTerminate()
所以希望大家,记住真正的Android入口点是application的main,你可以看下androidmanifest.xml的包含关系就清楚了,并不是每个应用都必须有Activity的。
分享到:
相关推荐
针对性强,注重实际应用开发需求,书中所涵盖的知识点都是android应用开发者和系统开发者需要重点掌握的。 全书共10章,第1章介绍了阅读本书所需要做的准备工作,主要包括对android系统架构和源码阅读方法的介绍;...
一种将 Dagger DI 与 Android 应用程序集成的简单方法。 DaggeredAndroid 为您提供了一些方便的基类来集成。 目前 DaggeredAndroid 使用 Dagger 1.2.2 版运行。 DaggeredAndroid 需要 Android SDK 目标版本 11 ...
它管理应用进程的主线程的执行(相当于普通Java程序的main入口函数),并根据AMS的要求(通过IApplicationThread接口,AMS为Client、ActivityThread.ApplicationThread为Server)负责调度和执行activities、broadcasts...
app_process 是 Android 上的一个原生程序,是 APP 进程的主入口点。总之就是个可以让虚拟机从 main() 方法开始执行一个 Java 程序的东西啦。
AndroidStudio的手机APP进行TCP连接源码,主要是分为两个类,一个就是MainActivity这个就是主程序执行的入口了,还有一个就是TCP_Test类,里面写了关于连接服务器IP和端口,传输数据等方法。方便大家进行二次创作。
2.安装opencv manager.apk,目前在android上所有的opencv程序都必须依附于android manger。在DOS窗口口中执行: 开始项目: 1.新建android application工程,取名CarPlate,右击项目属性,勾选opencv类库 2.将汽车照片...
一切 Helper应用程序可帮助用户使用ETECSA服务 ... 初始化应用程序的应用程序入口点(主要功能) /lib/pages 在此文件夹中,您将找到更通用的窗口小部件的实现,这些窗口小部件在应用程序中以整页显示。 /li
它提供了处理常见游戏开发任务的模块,例如2D和3D渲染,GUI系统以及音频和资源管理。 白鹭引擎非常灵活,适用于2D或3D项目。...编写第一行代码默认情况下,白鹭游戏项目的入口点是src /Main.ts。 要编写项目
应用程序的主要入口点是main.dart ,然后是app/app.dart 。 建立Android APK和appbundle flutter build appbundle flutter build apk 该应用可能在您的Android设备上,但未完全安装。 要完全删除它,请将设备连接到...
玩Android-Flutter客户端 前言 这是一款使用Flutter编写的,MaterialDesign风格的WanAndroid客户端应用 这是一个可以用来入门Flutter的项目,我用了两周的晚上... |-main.dart(程序入口) 感谢 感谢鸿洋大神及提供的
setp1:(程序入口初始化) public class CodeApplication extends Application { @Override public void onCreate() { super.onCreate(); ToastUtils.init(this); } } setp2:(使用) ToastUtils.showSuccess("success")...
贴身管家Android版说明贴身管家app版已经在华为应用市场、魅族应用中心上架。ios因没有证书,暂时不做打包处理。因部分接口不支持https,所以小程序版功能相对比较少。目录结构说明├── /css/ # 样式文件夹├── ...