解决方法
一些类似的模式,我可以想到我的头脑:
> Activity基本上等同于桌面系统中的窗口,但在很多方面它也可以等同于整个应用程序.虽然Android应用程序通常由多个Activity组成,但每个活动都有自己明确定义的生命周期和休眠/恢复自身的方法(例如onSaveInstanceState()方法).但是,活动绝对不等同于流程.如果您真的想了解Android进程生命周期的怪癖,请阅读Activity javadoc并查看this other SO question.
> ActivityGroup实际上只与android.widget.TabHost一起使用.您应该将ActivityGroup视为单个Activity.
>上面有人说Activity是一个容器,它是,但它没有孩子,也不负责布局或绘图.我想说一个更好的比喻是“Activity:window :: ViewGroup:layout / container”.
> android.app.Service ==守护进程
>与大多数UI框架一样,所有UI操作都发生在单个线程(“UI线程”)上,并且有一些实用程序方法可以让您将某些代码块排队,以便在UI线程上异步执行.这类似于WPF的DispatcherObject或SWT的Display.
> Android将用户空间与内核空间的概念扩展到文件系统;您不仅可以访问其他应用程序的虚拟内存,而且您的应用程序还有自己的文件系统部分,其他用户或应用程序没有读/写权限.
>如果您确实希望为其他应用提供对应用私有数据存储的访问权限,则可以使用ContentProvider进行访问. ContentProviders提供基于查询的语法,类似于您在传统操作系统上可能找到的任何ODBC实现.
>我能想到的最接近Intents的类比实际上是AppleScript.正如OS X应用程序向脚本引擎公开某些方法一样,Android应用程序可以处理“意图”,这是一种高级别的IPC.这里的主要区别是Apple脚本化应用程序通过“脚本字典”公开其脚本元素,而很难找出Android应用程序可以处理的内容,除非您可以查看该应用程序的AndroidManifest.xml.
底线:Android与我遇到的其他任何东西都非常不同,无论好坏,平台上会有很多细微差别,你会不断发现.您可以做的最好的事情是从上到下直接阅读开发人员指南.我有7个月的时间成为一名全职的Android开发人员,而且我每天都在学习新事物.