Android组件与iOS的比较

作为开发人员生活的愿望是在不同的开发领域中发展技能。 作为Android开发人员,我也有同样的看法。 我很想在iOS开发中发现自己。 到目前为止,我还没有遇到过一个机会。 我很想分享我对iOS的坚持。

基本上,Android具有四个主要组件,即Activity,Service,BroadcastReceiver和Content Provider。

  • 活动 -它充当应用程序的入口点。 必须很简单,它只是一个带有背景的屏幕。 它有自己的生命周期。
  • 服务 -它可以在后台执行长时间运行的操作,并且不提供用户界面。
  • 广播接收器 —这是另一个组件,允许您注册系统或应用程序事件。 事件发生后,Android运行时会通知该事件的所有已注册接收者。
  • ContentProvider-仅当您需要在多个应用程序之间共享数据时,才需要内容提供者。

活动与ViewController

我们可以说Activity等同于ViewController ,因为它具有自己的生命周期(Android中为onCreate,iOS中为viewDidLoad),但并不完全。

它有点像

  1. 活动不能包含子活动。 在iOS中,一个UIViewController可以容纳另一个UIViewController
  2. 由Intent调用的活动,但在iOS中通过presentViewController或pushViewController调用

iOS中的服务

在Android上,只要授予正确的权限,您就可以执行所需的任何操作。暂停应用程序时可以使用服务来实现后台处理。基本上,您可以在iOS中执行操作,但是它受到严格的监管。 它将调用特定的方法来给您更新的机会,那么您的时间有限。

当应用返回后台时,您仍然可以要求更多时间(大约10分钟)。 查看beginBackgroundTaskWithExpirationHandler方法。

iOS中的广播接收器??

担心说不。 因为iOS没有广播接收器。 在Swift中,为了达到相同的效果,可以使用NSNotificationCenter。

通过电池操作让这两个代码段都有。

  • 创建了BatteryLowBroadcast接收器,并将该接收器注册到清单文件中。

在iOS上,应用无法以这种方式共享资源。 出于安全原因,每个应用程序都有自己的数据,并且由于能够访问另一个应用程序中的数据而被沙盒化。

Interesting Posts