关于fragment和activity的一点心得

  1. 为什么fragment不和activity直接通信呢?

高内聚,低耦合。Java是一种描述性语句,它虽然遵函数规则,但是它是面向对象的。fragment是依赖于activitY存在的。官方推荐两者之间用接口回调来通信,还有bundl和handler等对象。一个程序要执行,必须遵守一些规则,两者之间直接通信,那么程序就会变得非常凌乱,C/c++利用函数指针来进行回调,*fun表示的是函数在某一个内存中的地址,从当前位置开始执行程序。而java是没有指针的,但它有接口,通过接口,我们就不需要对fragment进行大量的更改,只需要在activity中实现。例如,fragment点一个按钮,那么画面更改,并且wifi发送消息。fragment自己直接更改,再建一个wifiUtil对象,然后socket对象发送行不行?当然可以,但是毫无疑问,这个wifi不止一个地方要用到,其他地方使用时你待保证当前的fragment还活着。fragment的诞生是为了让ui更加灵活,灵活的东西绑定太多东西会变得呆滞。windowiphone->activity->fragment,绑定最多东西的是window,其次是activity。越内聚,越灵活,越灵活,代表着兼容效果越好,性能越优。

  1. 从整体框架到细节的一些感悟:

每一个线程都有自己的堆栈,任务管理器不停的从一个栈跑到另一个栈运行不同的线程。而线程之间的通信有handler,队列,互斥锁,还有很多, 程序的独立性非常重要,直接读取内存来会极大的损耗性能。按照特定的方法能够更加安全和节省性能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值