才开始开发android app,因为以前一直是java开发,学习也比较容易。
记录下自己开发过程中出现的一些小问题:
- 静态变量
在开发中,因为习惯性的问题,经常将一些常用数据(如用户信息等)进行static保存,后来测试了下,不管是放application中还是放activity中,只要初始化这个静态变量的activity被销毁,其初始化的变量也会根据系统的垃圾回收机制随机被销毁,这个问题就麻烦了(具体请参考http://blog.csdn.net/ctcwri/article/details/8858414),所以就应该使用一些其他方法进行数据的保存,如单例模式。
- findViewById空异常
在一个activity中使用多个layout时,findViewById空异常的问题开始也是非常容易出错的,因为很多时候的view对象是动态注入的,所以在使用时一定要使用view.findViewById。
- 通用型activity中数据对接方式
在开发中,常常会定义一些通用的activity来处理各模块的处理逻辑,如定义webview等,不需要每次都定义一个activity,使用共用的来进行处理,而在数据传输过程中,上一个activity应该使用intent.putExtra来传递参数,在通用型的activity中使用Bundle extras = getIntent().getExtras();来进行获取,在获取时,应该加上判断extras.containsKey("key")来进行,开始时,我也习惯性的使用extras.getString("key")==null||extras.getString("key")==""的方式来判断,结果错误一堆堆。
- 自定义webview中session问题
自定义的webview经常在访问网页时出现服务器端session丢失问题,需要手工管理webview的session保持与服务器同步,否则的话,每次访问服务器,都有可能创建新的session。