当前位置: 首页 > wzjs >正文

永州做网站公司做外贸网站市场

永州做网站公司,做外贸网站市场,长沙网站建设 599,想花钱做网站怎么做在 Android 的 Fragment 事务处理中,commit() 和 commitNow() 是两种提交事务的方式,它们的区别主要体现在执行时机、事务顺序和兼容性等方面。以下是它们的核心区别: 1. 执行时机 commit() 将事务异步加入主线程的待执行队列。不会立即执行&…

在 Android 的 Fragment 事务处理中,commit()commitNow() 是两种提交事务的方式,它们的区别主要体现在执行时机、事务顺序和兼容性等方面。以下是它们的核心区别:


1. 执行时机

  • commit()
    将事务异步加入主线程的待执行队列。不会立即执行,而是等待主线程调度(通常在下一次 UI 刷新时执行)。

    transaction.commit(); // 事务稍后执行
    
  • commitNow()
    立即同步执行当前事务(但不会影响其他已通过 commit() 提交的事务)。

    transaction.commitNow(); // 事务立即执行
    

2. 事务顺序

  • commit()
    允许通过 addToBackStack() 将事务加入后退栈(用户按返回键时可回退)。

    transaction.addToBackStack("tag");
    transaction.commit(); // 允许回退
    
  • commitNow()
    不允许addToBackStack() 同时使用,否则会抛出 IllegalStateException

    // 错误用法!commitNow() 不能与 addToBackStack() 同时调用
    transaction.addToBackStack("tag");
    transaction.commitNow(); // 崩溃!
    

3. 与 executePendingTransactions() 的区别

  • commit() + executePendingTransactions()
    可以强制立即执行所有通过 commit() 提交的未完成事务:

    transaction.commit();
    fragmentManager.executePendingTransactions(); // 立即执行所有未完成事务
    
  • commitNow()
    仅执行当前事务,不会影响其他已通过 commit() 提交的事务。


4. 兼容性

  • commit()
    适用于所有 Android 版本。

  • commitNow()
    仅适用于 API 24 (Android 7.0) 及以上。如需兼容低版本,可使用 commit() + executePendingTransactions()(需注意潜在副作用)。


5. 使用场景

  • commit()
    适用于大多数情况,尤其是需要将事务加入后退栈时。例如:用户导航到新页面,允许通过返回键回退。

  • commitNow()
    适用于需要立即生效且不需要回退的场景。例如:在 onCreate() 中初始化 UI 时,确保 Fragment 状态立即更新。


总结

特性commit()commitNow()
执行方式异步同步
允许加入后退栈
兼容性所有版本API 24+
返回值返回事务标识符 (int)无返回值 (void)

最佳实践

  • 如果需要立即执行事务且无需回退,优先使用 commitNow()(需考虑 API 兼容性)。
  • 如果需要事务可回退,或需要兼容低版本,使用 commit()
  • 避免混合使用 commit()commitNow(),可能引发执行顺序混乱。

文章转载自:

http://6BCJq3iC.zwsgL.cn
http://5oZvYKxV.zwsgL.cn
http://yRuWGLJx.zwsgL.cn
http://l1WseDgw.zwsgL.cn
http://Kh8z6HYu.zwsgL.cn
http://EwJLx7tu.zwsgL.cn
http://x7dZUg1d.zwsgL.cn
http://T4KfoyRM.zwsgL.cn
http://F0wKp7ni.zwsgL.cn
http://UDFYtAZ9.zwsgL.cn
http://JowTJdZW.zwsgL.cn
http://mPn64D0F.zwsgL.cn
http://MQBEERo1.zwsgL.cn
http://xodNPhiG.zwsgL.cn
http://gkuzDY2V.zwsgL.cn
http://23krC2vp.zwsgL.cn
http://sWkzrFhZ.zwsgL.cn
http://A4eFbSsn.zwsgL.cn
http://3qckJ0Rx.zwsgL.cn
http://uMWeyxLa.zwsgL.cn
http://MUjh4k4K.zwsgL.cn
http://nwX4IceF.zwsgL.cn
http://2pr5s4aK.zwsgL.cn
http://jd8LCYHu.zwsgL.cn
http://0xYqGbyt.zwsgL.cn
http://9GmWqn3d.zwsgL.cn
http://24QQgWsI.zwsgL.cn
http://ca2hG6QN.zwsgL.cn
http://pCDpFuEm.zwsgL.cn
http://ylwcq9c6.zwsgL.cn
http://www.dtcms.com/wzjs/623616.html

相关文章:

  • 威海城乡建设局网站首页导购网站模板
  • 做网站 所需资源wordpress禁止s.w.org
  • 临海网站建设公司西安最新数据消息
  • 赞叹天河网站建设公司河南省建设厅代建中心
  • 网站建设培训会讲话wordpress怎么分享到微信
  • 长春网站优化流程济南软件外包
  • 北京网站优化服务有限公司为什么做网站必须要用域名
  • 网站不备案不能用吗建设网银官网
  • jsp电商网站开发流程图荆门住房建设厅网站
  • 亚马逊的网站建设企业的网络推广
  • html可以做网站吗怎样宣传一个网站
  • 网站换行代码网页版qq音乐在线登录
  • 网站建设包含seo吗如何搭建公司网络
  • 湖北企业网站建设公司今天军事新闻最新消息视频
  • 无锡做网站公司多少钱呼和浩特网站建设
  • 法律顾问 网站 源码黑龙江省关于城市建设政策网站
  • 那种漂亮的网站怎么做设计师需要学历吗
  • 网站流量查询工具网页游戏奥奇传说
  • 长沙网页制作模板的网站wordpress 分类 id
  • 提供网站建设找哪家公司好wordpress多个博客
  • 标签化网站二级域名购买平台
  • 网站开发体会如何做网站建设团队建设
  • 电子商务网站建设信息智慧团建网站登录入口电脑版
  • 蓝色网站后台官网设计费用报价
  • 整站优化该怎么做炫酷的wordpress插件
  • 同ip怎么做不同的网站管理咨询公司起名大气上口的
  • 网页浏览器证书失效怎么修复长沙seo排名外包
  • 做网站多少钱特惠西宁君博s建网站是自己做还是用CMS
  • 阿里云域名注册好了怎么做网站优购商城网站建设
  • 微信网站制作平台给公司做个网站多少钱