博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS程序员学习android之一
阅读量:5900 次
发布时间:2019-06-19

本文共 1409 字,大约阅读时间需要 4 分钟。

UIView = Activity ?

记得两年前,刚到公司的时候,做过一些技术分享会,其中就有android和iOS的对比,但当时完全两端程序各说各的,虽然放在表格里面对比,就好像汪星人教喵星人游泳或者喵星人教汪星人爬树一样。

iOS vs android.jpg

程序入口:

iOS:

iOS启动程序入口只有一个,即UIApplicationMain, 然后通过代理将重要APP声明周期事件交给开发者处理(iOS程序的好处是可读性强,你读程序大概能猜出来它是干什么的):

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    // 若程序没启动,这绝对是唯一入口,这里会有一个UIWindow    return YES;}- (void)applicationWillResignActive:(UIApplication *)application {}- (void)applicationDidEnterBackground:(UIApplication *)application {}- (void)applicationWillEnterForeground:(UIApplication *)application {}- (void)applicationDidBecomeActive:(UIApplication *)application {}- (void)applicationWillTerminate:(UIApplication *)application {}

android:

android启动程序入口有多个,包含activity, service, content providers, broadcast receivers共四种component

activity 类似UIWindow, 提供一个交互界面。

只要在__AndroidManifest.xml__声明,android系统可以从任意一个acitivity启动该程序, 直接到达所想要的界面, 使已有的Activity像自己应用的一部分,没有明显的程序跳转。类似的iOS只有一个activity, 需要activity内部组织, 来展现出想要的界面, 有明显的程序跳转。

__service__可以使程序长时间后台运行,相反iOS严格限制后台运行,只能允许声音,导航,画中画, airplay, 视频聊天等长时间后台运行,剩下的下载,更新什么的只允许应用后台更新10几分钟左右

__Broadcast receivers__接受系统消息或其它应用发出的消息,iOS可用NSNotification接受系统消息,但是无法接受其它应用发出的任何消息

__Content providers__内容提供,iOS只能利用__Document Provider__可以完成其功能,插件相当于android里的component入口了,但是插件种类有限。

PS: 初学android欢迎指出其中不足

转载地址:http://xpesx.baihongyu.com/

你可能感兴趣的文章
JQuery入门(2)
查看>>
linux文件描述符
查看>>
传值引用和调用引用的区别
查看>>
hyper-v 无线网连接
查看>>
Python3.7.1学习(六)RabbitMQ在Windows环境下的安装
查看>>
Windows下memcached的安装配置
查看>>
ubuntu: firefox+flashplay
查看>>
常见的海量数据处理方法
查看>>
web.xml 中CharacterEncodingFilter类的学习
查看>>
贪吃蛇逻辑代码
查看>>
实现c协程
查看>>
ASP.NET视频教程 手把手教你做企业论坛网站 视频教程
查看>>
[LeetCode] Meeting Rooms II
查看>>
从Swift学习iOS开发的路线指引
查看>>
Scribes:小型文本编辑器,支持远程编辑
查看>>
ssh 安装笔记
查看>>
游戏音效下载网站大全
查看>>
实验五
查看>>
3-继承
查看>>
海归千千万 为何再无钱学森
查看>>