0
  • 最佳答案

    因为你post的时候为0,也不一定争取到CPU的执行时间呀。


    如果你这个handler是线程的。那么你执行你的post里的内容和直接调用都是同一个线程,只有一个线程。



    你postDelayed,其实是进了队列里,进了队列里,还要进行排序,如果此时没有轮询的,会唤醒轮询器。然后等待下一次得到执行权的时候才去执行。



    这个问题,你真不的应该犯。如果是空指针了,肯定要解决时序的问题,而不是通过这种postDelay的方式,这个方式不保险,也不安全,不优雅。


    有空去看看handler的源码,面试必问的。

    1153952789488054272  评论     打赏       拉大锯
    • lxxxx9  回复 @拉大锯
      主要是这个fragment是公司封装好的基本库里的,我没法在里面进行修改,只能在调用了show之后进行获取了就。
      lxxxx9 2020-11-11 20:15   回复 1247069679944470528
    • 拉大锯  回复 @lxxxx9
      你为什么要改基本库呢?你觉得不满意,扩展,复写不行么?
      拉大锯 2020-11-12 13:06   回复 1153952789488054272
    • 断点-含光君  回复 @拉大锯
      show方法,是开始提交fragment,然后走生命周期那一套。 只要onViewCreate方法执行(或者inflate得到view。),才是加载好xml。其实,要明白这个时序,就不会遇到空指针。遇到了,就是操作时机不对。
      断点-含光君 2020-11-13 14:27   回复 1139423796017500160
    • 断点-含光君  回复 @lxxxx9
      我应该回复你的
      断点-含光君 2020-11-13 14:27   回复 1139423796017500160
相关问题
_empty · Android
2019-10-20 23:51 628 2
application · Android
2019-11-05 00:26 779 2
三流废物 · android / 小白
2019-11-22 00:35 1067 5
豪豪好嘛 · Android / GPS
2019-11-26 20:15 884 5
Jian · android
2019-11-28 01:51 615 2
2019-12-01 01:01 705 2
小陈学编程 · Android
2019-12-01 19:08 633 2
fkinggod · Android
2019-12-08 09:19 661 5
fkinggod · Android
2019-12-08 20:47 612 2
kissmyass · Android
2019-12-09 07:08 538 2
独一无二的名zi · Android
2019-12-30 06:48 415 2