今天不知道怎么了,那个曾弄了我20多天的冒险模块,在今天,差不多要完工了。弄出的那一刻,有的是喜悦,但之后,更多的是叹气。
也就是从此刻我才意识到,我曾自认为很崇高的职位,可能事实上并不是像你想像般的美好。在没搞出来的那些日子,我也从未放弃过。但如今差不多要完工了,我却有些动摇了。虽然在一边努力,一边自我怀疑,但这不就是成长的过程吗。怎么说,我内心的信念真的要动摇了吗?
细细回想,从早上弄到晚上,发现有效的编程不超过6个小时,6小时候后的时间里,意志和耐心慢慢被消磨。此刻我才明白,虽然投入的时间不少,但大部分时间好像是无用功。安奈不住性子的时光里,几乎是瞎操作,这样反而增加了bug的数量。
有时候我在想,根据2/8定律,抓住20%的关键付出取得80%的收获,那之前80%的付出是不是就不重要了(不去在乎)。后来才发现,要取得20%的关键付出,那你必须要经过80%的努力去不断的尝试,不断的试错。好像这两者就是因果关系,有了80%的努力,才有之后20%的关键性努力取得的收获。这80%的努力就像找资料,看代码,理解,写Demo测试,最后时机成熟后才能将需求实现。
bug小结
这个是关于空指针问题,当时是一个LottieAnimationView的创建放错了位置导致创建失败,还是要注意生命周期。
这个也是关于Animation的错误,作为一个开发小白可能会出错的地方
Attempt to invoke virtual method 'void android.view.animation.Animation.setStartTime(long)' on a null object reference 这个问题也同上一个Animation问题。
当时写错了。
此问题未解决
数组越界,这个问题比较简单,也比较容易改
attempt to invoke virtual method 'android.view.view android.view.view.findviewbyid(int)' on a null object reference
这个问题更折磨人,它为空可能是绑定出错,如果绑定没错,可以看看返回View的方法体是否有问题,我的问题是在getView上出现了问题,getView为空。
这个问题跟fragmentQ的生命周期有关onCreateView方法创建布局,如若在此方法中调用
getView方法,则为空,要再onCreateView走完之后调用getView方法才能返回真正的view。
Attempt to invoke virtual method 'android.content.SharedPreferences android.app.Application.getSharedPreferences(java.lang.String, int)' on a null object reference
这是个关于 SharedPreferences对象为空的问题,一个是没有返回值和默认值才报空。
如今觉得,开发太不容易了,还是特别费时间的。后期做一下关于开发的一些总结,如何才能减少bug,减少开发所需时间。。。。。。。。