android 开发坑点记录

  1. 拨号功能
    1) 调用拨号界面前须要判断当前设备是否有拨号程序,可以使用try-catch捕获打开异常,避免应用闪退
  2. webview开发问题
    1) 缓存问题——没有开启缓存可能致使网页部分功能不能正常使用,而出现异常状况
    2) WebViewClient对象下的方法都为异步回调方法,若是在这些方法有android UI相关操做则须要注意activity关闭时再也不执行到相应的操做,好比dialog的关闭操做,在onDestroy()中提早执行,同时dialog的显示和关闭要使用同步锁
    3) url拦截会致使头信息丢失(还可能有其余信息丢失),从而致使一些功能异常,所以需慎用
    4) 关于302重定向问题,还未解决
  3. 悬浮窗口问题
    1) 悬浮窗屡次添加会致使闪退——在添加或移除悬浮窗的代码外围使用try-catch捕获异常,避免闪退
    2) 悬浮按钮如需全局移动则须要将flags属性设置为FLAG_LAYOUT_IN_SCREEN,但不要同时设置FLAG_LAYOUT_INSET_DECOR,不然在状态栏下悬浮按钮会被遮挡住部分视图
  4. 文件操做问题
    1) 在主线程中执行文件操做在少许4.4机型中可能会出现ANR,所以为了不ANR,尽可能不要在主线程中操做文件
  5. 多界面同时切换问题(android系统bug)
    1) 当当前应用在切换界面的同时也在切换应用的时候,部分机型会出现ANR,当界面频繁快速切换时也有可能出现 —— 尽可能避免频繁切换界面且在应用跳转时不要执行界面切换相关操做
  6. 第三方登陆:
    1)QQ受权登陆的签名配置须要所有小写
    2)微信受权登陆的签名配置须要所有大写
    3)注意包名、appID必须和第三方后台配置一至
    4)若是配置信息都一至,仍是没法受权,则多是缓存问题(如:微信缓存了错误的签名票据)
    5)签名的填写千万千万不要手动敲,必定要复制,否则极容易出错(已踩坑,并且是很深很深的坑)
    6)QQ提供的签名获取工具没法获取一些应用的签名,可使用微信或微博提供的签名获取工具获取
  7. 在manifast文件中配置meta-data数据时,若是属性value的值为一长串的数字,那么必须在前面加上”\ “(斜杠和空格),不然编译以后,该数值会被修改,从而形成错误;如本来value=”1234567890123”,那么应该改为value=”\ 1234567890123”,这样编译出来的apk中对应的值才是正确的
  8. android 使用Animation.startNow()启动动画时会有兼容问题,使用View.startAnimation(Animation)启动动画能够解决该问题
  9. 待补充。。。
相关文章
相关标签/搜索