位置: 编程技术 - 正文

[置顶] 【对比Android与IOS开发系列】之 Activity与UIViewController(置顶朋友圈所有人能看到吗)

编辑:rootadmin
对比开发系列 Activity与UIViewController

推荐整理分享[置顶] 【对比Android与IOS开发系列】之 Activity与UIViewController(置顶朋友圈所有人能看到吗),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:置顶评论怎么弄,置顶的朋友圈是所有人可见吗,置顶折叠怎么设置,置顶pyq会被自己屏蔽的人看到吗,置顶的朋友圈屏蔽的人能看到吗,置顶的朋友圈屏蔽的人能看到吗,置顶的朋友圈屏蔽的人能看到吗,置顶的朋友圈屏蔽的人能看到吗,内容如对您有帮助,希望把文章链接给更多的朋友!

Activity与UIViewController

Android的Activity和Fragment是最基本的界面组成,而IOS是UIViewController。几乎所有的View和空间都会放在Activity和UIViewController中。

在之上有不少扩展的:

Android: FragmentActivity, AppCompatActivity

IOS: UITableViewController, UICollectionViewController

我们对比一下继承关系:

Android: Activity->ContextThemeWrapper->ContextWrapper->Context

IOS: UIViewController->UIResponder->NSObject

IOS几乎所有的基类都是NSObject,Android中也有Object,一般作为Model层对象的基类。

生命周期

这方面资料很多,我简单说一下:

Android的Activity, onCreate() 中初始化操作, onResume()中可以加一些改变界面和状态的操作;

IOS的UIViewController, -viewDidLoad 中初始化操作, -viewWillAppear 中可以加一些改变界面和状态的操作;

对比一下:

Activity: onCreate() –> onStart() –> onResume( )–> 运行态 –> onPause() –> onStop() –> onDestroy()

UIViewController: -viewDidLoad –> -viewWillAppear –> -viewDidAppear –> 运行态 –> -viewWillDisappear –> -viewDidDisappear

这里补充一个Android的

Fragment:* *onAttach() –> onCreate() –> onCreateView() –> onActivityCreate() –> onStart() –> onResume( )–> 运行态 –> onPause() –> onStop() –> onDestroyView() –> onDestroy() –> onDetach()

[置顶]
        【对比Android与IOS开发系列】之 Activity与UIViewController(置顶朋友圈所有人能看到吗)

Android与IOS都使用 堆栈 的数据结构 存储Activity和UIViewController.

Android关于Activity的堆栈, 可以搜索taskAffinity和launchMode。同一应用所有Activity具有相同的亲和性(taskAffinity),可通过Itent FLAG设置,也可在AndroidManifest中设置.

IOS中的UINavigationController通过堆栈来UIViewController.

界面跳转与传值

Android: Activity可以使用Intent,Fragment使用Bundle。 对于界面回调传值,通过startActivityForResult()启动和onActivityResult()接收。

IOS: 在初始化UIViewController对象时,直接给对象中的变量赋值。 对于界面回调传值,可以自定义接口(Delegate),也可以使用通知(Notification)

结构类型类代码强引用和弱引用

Android:

有四种引用类型,强引用(StrongReference),软引用(SoftReference),弱引用(WeakReference),虚引用(Phantom Reference)。 一般创建的对象都是强引用。所以当内存空间不足时,Java虚拟机宁愿抛出OOM异常,也不会随意回收强引用的对象。 对于软引用,内存空间足够,垃圾回收器就不会回收它,可以做图片的缓存。

对于弱应用,使用场景例如:在Activity中使用Handler时,一方面需要将其定义为静态内部类形式,这样可以使其与外部类(Activity)解耦,不再持有外部类的引用,同时由于Handler中的handlerMessage一般都会多少需要访问或修改Activity的属性,此时,需要在Handler内部定义指向此Activity的WeakReference,使其不会影响到Activity的内存回收同时,可以在正常情况下访问到Activity的属性。

IOS:

使用__weak, __strong用来修饰变量,默认声明一个对象 __strong。 在强引用中,有时会出现循环引用的情况,这时就需要弱引用来帮忙(__weak)。 强引用持有对象,弱引用不持有对象。 强引用可以释放对象,但弱引用不可以,因为弱引用不持有对象,当弱引用指向一个强引用所持有的对象时,当强引用将对象释放掉后,弱引用会自动的被赋值为nil,即弱引用会自动的指向nil。

私有和公有

IOS中有- +方法,-相当于Android中的private, +相当于Android中的public static。

对于全局变量,IOS是放在AppDelegate中或者使用#define声明在.h中。 Android同样,放在Application中 或者类中使用public static。 当然,都可以使用单例类。

基本控件

对比一些常用的

Android IOS TextView UILabel TextEdit UITextField UITextView ImageView UIImageView Button UIButton Switch UISwitch ListView TableView GridView CollectionView

对比一下继承: Android Views -> View IOS Views -> UIView -> UIResponder -> NSObject

Java实际上任何对象都是直接或间接继承自Object,写extends Object和不写extends是等价的。 因此 Android和IOS的对象, 本质上都是从顶级的Object继承来的。Amazing~

后记 暂时写这么多,随后再补充。 这篇只是这个系列的第一篇,随后再写更多。 文章和代码一样,也需要不断去梳理,不断迭代。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android 入门 转载:博客园:

我的自定义Adapter publicabstractclassAbstractBaseAdapterTextendsBaseAdapter{publicLayoutInflaterinflater;privateContextcontext;publicListTmList;protectedintmInflaterId;BaseViewHolderbaseViewHolder;publicBaseViewHolderg

Android 颜色对照表 颜色代码大全AA指定透明度。是完全透明。FF是完全不透明。超出取范围的将被恢复为默认。ffffffffffffffffffffccffffffffccffccffccffccffccccffccffff

标签: 置顶朋友圈所有人能看到吗

本文链接地址:https://www.jiuchutong.com/biancheng/379580.html 转载请保留说明!

上一篇:使用android.graphics.Path类自绘制PopupWindow背景(使用粗盐热敷十大危害)

下一篇:Android 入门(安卓基础入门教程)

  • 小规模销售收入要做销项税额吗
  • 职工报销的医药费计入什么科目
  • 金税盘不用了之后要抄报税吗
  • 年终奖可以不计入年总收入吗
  • 收到退所得税款的会计分录
  • T3现金流量表怎么删除
  • 外购自用需要缴纳增值税吗
  • 职工宿舍楼日常管理制度
  • 企业固定资产没提折旧怎么办
  • 预付货款工程完工后如何结转?
  • 施工企业确认收入的方法有哪两种
  • 单位出租厂房如何开票
  • 出售股份是利好吗
  • 利润分配从哪里取数
  • 承包食堂管理费用收取的依据
  • 小规模可以收专票当费用票吗
  • 个税合理避税的意义
  • 取得抵债房产的涉税风险,你清楚吗?
  • 发票代码不是10位,怎么提示输入12位的
  • 购进非税货物有折扣怎么做账?
  • 支付给董事的董事费怎么征收个人所得税?
  • 与权益法核算相关的累计净损益
  • win7为什么不能安装软件
  • 怎么做增值税
  • 冲暂估成本会计分录怎么做
  • 公户的利息收入账务处理咋处理
  • 磁盘碎片指的是磁盘因为长期使用
  • 支付宝安全控件是什么
  • 上季度成本多结转了怎么调
  • 业务招待费税务筹划案例
  • mysql如果不存在就创建表
  • 彻底清理缓存
  • PHP:is_writeable()的用法_Filesystem函数
  • 无法支付的货款如何处理
  • 厂区绿化工程计入什么科目
  • 文本检测工具
  • 小微企业减免额怎么计算
  • 哪些税种需要计提吗
  • facebook/scribe · GitHub
  • C++ lower_bound/upper_bound用法解析
  • 房地产小规模纳税人预缴税款如何填申报表
  • 标准工资表怎么填
  • 申请高新技术企业要具备哪些条件
  • 一般整形医院的药在哪进货
  • 公司股东的权利和义务有哪些
  • 残保金申报方式改变时间
  • 新收入准则 2021
  • 去年主营业务收入少计
  • 购买样品入库的账务处理
  • 临时工的工资如何申报个税
  • 营改增后的增值税税目税率表
  • 工程款发票怎么做分录
  • centos 6.5下 mysql-community-server. 5.7.18-1.el6安装
  • 完美解决MySQL通过localhost无法连接数据库的问题
  • bios设置光盘启动图解
  • 安装sqlserver2016步骤
  • xp系统自带浏览器打不开网页
  • linux如何查询
  • linux使用cp
  • u盘设置背景音乐怎么弄
  • win1020h2正式版
  • 如何优化winxp
  • win7开机假死
  • windows7开机启动
  • 每日十条简短新闻
  • 手把手教你使用opc
  • javascript的
  • linuxssh免密登录
  • javascript 语言精粹(修订版)
  • typeof的缺点
  • JavaScript中Number.NEGATIVE_INFINITY值的使用详解
  • js修改css文件
  • unity3d打包成apk
  • angularjs常用总结
  • ApplicationId与PackageName的区别
  • bootstrap的组件
  • 四川省税务局2020年4号
  • 贵州省 税务局
  • 2020年陕西省国税局局长
  • 山东水利建设基金减免政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设