Android开发中令你着急的小问题(持续记录)
1.在升级app-gradle中的sdk版本后,直接运行或打包有时会出现混淆错误。原因一:出现导入了相同的依赖包,可以根据错误日志查找相同的类,然后删除一个(查找相同类时要连你的本地依赖库也要查找)。原因二:灰常简单,你需要先clean一下然后rebuild一下就OK了。
2.在把项目从eclipse转到Android Studio后,①对权限还要重新的动态申请。②对状态栏也要重新编写。③在手机上如果是从eclipse包直接升级到AS的包,那么在加载webview时会直接崩溃,原因就是webview之前的缓存导致的,所以要在MyApplication内添加DataCleanManager.cleanWebCache(this),其中主要的还是file内的路径一定要写对,可能不一样,需要多测试一下;(真滴是深坑,要耐心细心阅读代码)
deleteDir(new File("/data/data/" + context.getPackageName() + "/app_webview"));
3.Android Studio必不可少的一个依赖包,解决程序方法数量超过65535的限制。(具体用法问度娘)
compile 'com.android.support:multidex:1.0.2'
4.如何准确的测量webview加载内容的真实高度?经过N中方法测试后
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
wv.measure(0, 0);
int measuredHeight = wv.getMeasuredHeight();
//这个就是真实的不能再真实高度。但是呢,细心地你会发现为啥要延迟1s?
//关键是不延迟TMD也测不准啊有时候还会是0。这样会保证每次测量的准确,希望有更好的方法解决。(让我苟一会)
}
}, 1000);
这里获取webview高度有啥用呢?答:有时候webview会套在scrollview内,要想连同其他内容一起滚动的话就必须给scrollview一个高度,so在获取到webview高度后就可以连同其他高度一起给sv赋值了。
5.如何在代码中给控件赋值dp单位的尺寸。
getResources().getDimensionPixelOffset(R.dimen.dp_103)
这也是为了解决Android尺寸适配的问题。(真让人头大)
6.通常我们会建立一个工具类Constant用于存放变量。这种形式
public static String/int
但是我在需要finish掉activity时,即在onDestroy()内处理变量值时并不是每次都能处理掉。所以说static也不是随便可以这样用的,下面引用了别人的总结http://blog.csdn.net/ctcwri/article/details/8858414。
7.在上述DataCleanManager.cleanWebCache(this);方法在Android10上会导致加载webview崩溃,原因不清楚,可以去掉。