2 可以尝试新建asstes文件夹,Android Studio手动创建asstes路径:src/main/asstes,Eclipse手动创建项目目录下AndroidStudio401版本,新建Activity的时候,点击finish之后新建失败没有产生对应的Java及xml文件且没有任何提示,如下图方式新建:
问题原因:signingConfigs的写法跟之前的版本有些不同。
解决办法:改成新版本的方式即可恢复新建Activity的功能。
注意事项:
module下的 buildgradle文件,如果你需要配置signingConfigs模块,那么有两个规则需要遵守
1,signingConfigs模块的配置需要写在buildTypes模块之前
android {
……
signingConfigs {
…
}
buildTypes {
release {
……
}
debug {
……
}
}
}
如果不按顺序写,会报 Could not get unknown property 'xxxxxxx' for SigningConfig container of type orggradleapiinternalFactoryNamedDomainObjectContainer的错误
2,signingConfigs模块里面不能出现debug之类的关键字
我之前的写法如下所示(40版本不适用):
//错误写法
signingConfigs {
debug {
storeFile file('key地址')
storePassword "密码"
keyAlias "Alias名称"
keyPassword "密码"
}
}
buildTypes {
debug {
……
signingConfig signingConfigsdebug
}
}
//正确写法,把signingConfigs模块里的 “debug ”改成其他名字,例如改成test
signingConfigs {
test{
storeFile file('key地址')
storePassword "密码"
keyAlias "Alias名称"
keyPassword "密码"
}
}
buildTypes {
debug {
……
signingConfig signingConfigstest
}
}
修改完后,把项目里的build文件夹里面的outputjson文件删掉,再次新建,新建成功背景:原生时间紧没时间开发任务量大的任务,而前端又闲着打酱油
方案:原生+webview混合开发
缺点:对于比较复杂的页面,webview在性能上力不从心;且与原生通信频繁也增加了隐藏的工作量
优点:能自带支持动态更新(js),能充分利用人力
webview是一个基于webkit引擎,展示web页面的控件。Android上的webview在低版本和高版本采用了不同的webkit版本内核,Android44(19)后直接使用了Chrome内核;WebView控件功能强大,除了具有一般View的属性和设置外,还可以对url请求,页面加载,渲染,页面交互进行强大的处理。一般来说webview可单独使用,也可联合其工具类一起使用
移动应用的主体是webview,主要以网页语言编写,穿插Native功能的Hybrid App开发类型。激活webview为活跃状态,能正常执行网页的响应;当webview 的页面被失去焦点切换到后台不可见状态onPause时,需要通知自己暂停所有的动作,比如DOM的解析,plugin的执行,JavaScript的执行等
1,显示和渲染web页面
2,直接使用本地assets或者网络上的html文件作为布局
3,可和JavaScript进行互相调用
1,直接在布局文件里写死
2,动态添加进viewgroup中
注:不管以哪种方式,都必须注意webview的销毁,否则可能会造成内存泄漏最终导致内存溢出crash
下面是WebView的一些常用的方法列举,一些已经过时的方法未列出
下面是WebSettings的一些常用的方法列举,一些已经过时的方法就没有写出来了
一般不管是动态生成还是xml写死,只要处理好了引用持有问题,就能有效的避免内存泄漏;下面是我尝试的方案,在工具类WebViewUtilsjava里封装好,在activity销毁的时候调用
1,清除webview缓存和记录
2,可以设置不启用缓存
3,H5的一些控件标签不支持导致的白屏
4,xml启用软件加速
5,通过menifest的来配置,在目标webview的activity设置
解决方案:
解决方案:
解决方案:
上一篇: Flutter入门-01-工程创建&目录介绍必须要进行注册,没有注册那个activity不能使用,运行工程是会报错
假设Activity名字为MyActivity注册代码如下:
MyActivity前面的为你activity所在的包名,注册放在你的主activity标签的下面就可以了
<activity android:name="combwietestMyActivity"></activity>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)