1 问题: 登陆页面 输入时账号时 弹出键盘覆盖 密码输入框
期望:输入能够把输入页面顶上去。
解决方法:Activity设置成非全屏且:android:windowSoftInputMode="adjustResize"
2 问题:点击EditText输入两次才弹出DatePickerDialog。
期望:点击一次弹出DatePickerDialog
解决方法:EditText改为TextView即可。
3 问题:The content of the adapter has changed but ListView did not receive a notification
期望:不出现该bug
思路: 在Android开发过程中,使用了大量的ListView,发现这个错误偶尔会出现。特别是做压力测试的时候,不停的点击刷新,更容易出现这个错误。代码中已经使用了Adapter的notifyDataSetChanged()方法通知UI更新了,但是还是会出现这个错误。究其根本原因,还是线程之间同步的问题。比如,线程1更新了Adapter中的内容,却还没有来得及通知内容已经更新,就又有线程2更新了Adapter中的内容,这个时候如果线程1再通知内容更新,就会出现上述异常了。
在此提出一些解决办法:
对线程进行管理,如果当前Actitivty暂停了,及时停止这些线程。
数据更新后,要及时使用notifyDataSetChanged()方法通知UI,避免出现数据不一致的情况。
数据的更新,最好放在主线程中进行。这样可以使用同步数据更新与通知内容更新部分的代码。
最后补充一条我最终解决问题的方法:
在用到多线程的时候,可以对数据做缓存处理, 比如与ListView绑定的数据存储在ArrayList (dataList), 在线程中先将数据加入到临时ArrayList(tmpList) , 最后在调用notifyDataSetChanged()方法通知UI更新之前, 把临时ArrayList(tmpList)中的数据更新到ArrayList(dataList)中, 然后清空临时ArrayList(tmpList)数据。
参考:http://blog.csdn.net/garybook/article/details/7498342
4 问题:内存泄露
思路:使用
5 Jpush推送相关问题:
1 关于不活跃用户:长期未打开APP,则会被Jpush标志为不活跃用户,之后不再接收推送,(除非用户主动打开APP,此句话待验证)
2 新建的APP,所有安装用户都是活跃用户。
3 小米的手机,普通App默认是非自启动,自启动广播也被屏蔽。
6 EditText焦点键盘弹出问题:
,,取消:
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,获取:
,,,,,,,,,,,,,,,,
7,在Eclipse中添加Android兼容包(v4, v7 appcompat) http://www.cnblogs.com/kissazi2/p/3644848.html
,
8滚动视图和列表视图冲突的解决方案:
,,,, http://www.xuebuyuan.com/2191777.html
9不同版本ADT混淆方式:
参考:http://www.tuicool.com/articles/amIn6vj
,,,,
10,自动开关机实现:
,,,, http://www.cnblogs.com/melaniedeng/archive/2012/02/16/2355066.html
11, <强> 强>
,,,,解决方法:
,,,,,,,,在含有:viewpage的片段的onCreateView方法中添加代码:
,,,,,,,,,,,,!=,(){
,,,,,,,,,,,,,,,,,,,, ViewGroup父母=(ViewGroup), .getParent ();
,,,,,,,,,,,,,,,,,,,,,(父母!=,){
,,,,,,,,,,,,,,,,,,,, parent.removeView ();
,,,,,,,,,,,,,,,,,,,,}
,,,,,,,,,,,,,,,,,,,,返回
,,,,,,,,,,,,,,,,,,,,}