![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
谢小片
学习,从模仿开始
展开
-
kotlin 协程launch在fragment中取消后无法再调用的问题
复现:1、在定义参数job的时候同时对job初始化,在onDestroyView 或者 onDestroy里cancel;2、存在多个fragment,且fragment会被保持状态,而不是离开就被销毁。3、复现过程,A打开B,B打开C,C回退到A,B&C被销毁,onDestroy被调用(应该说cancel被调用);这个时候A里的协程是不会再可以被调用了,那种感觉就像是这段代码没写似的。修复:重新进入页面的时候必须重新初始化job,除非你一直不调用cancel。原因:....猜测 C原创 2021-08-16 14:25:44 · 580 阅读 · 2 评论 -
Android列表优化
减少复杂逻辑减少临时对象的创建,比如复用监听布局文件优化,减少布局层级加载数据优化->RV设置缓存数量,LV设置缓存为图片滚动优化->RV减少缓存数量、条件允许的话设定item等高;LV关闭滚动缓存、关闭动画缓存RV:避免整体刷新,尽量使用单项操作或者部分操作。图片加载的控制,在滚动时停止加载图片对文章https://blog.csdn.net/u012230055/article/details/81116355的总结...原创 2021-05-20 11:48:40 · 223 阅读 · 0 评论 -
Android 混编项目移除 Flutter Module
非常简单,项目目录里,右键选择对应的flutter module,然后如图选择然后再次右键选择,点击【delete】,完成。原创 2021-01-14 14:50:09 · 370 阅读 · 1 评论 -
Arouter两个module配置一样另一个却 no route的问题
注意一个点,同一个组,比如usercenter,用到这个组的,全部的路径需要都指到一个module,因为只会初始化一次当前组下的路径map,所以如果第一次初始化的是别的地方同样叫 usercenter的,后续的都会在这个里找了...原创 2020-09-15 16:04:19 · 234 阅读 · 0 评论 -
flutter 虚线边框
使用方式跟BoxDecoration 一致,是根据BoxDecoration修改来的,新增四个参数:this.strokeWidth = 1.0,// 虚线高度this.gap = 5.0,//虚线的点的长度和间隔this.dashedColor,//虚线颜色this.dawDashed = true,//是否画虚线,默认为画虚线不画边框需要注意的是,虚线和边框不能共存,如果不画虚线,dawDashed设为 false。使用:decoration: const DashedD...原创 2020-07-08 16:52:59 · 10895 阅读 · 10 评论 -
Flutter for web 跨域请求解决方案
这里使用nodejs服务器实现跨域,原理是flutter代码直接跑到nodejs代理服务器上,这样不用内部局域网跨域,然后通过代理对应用的请求进行转发。nodejs代码:let http = require('http')let fs = require('fs')let conifg = require('./proxy-conf')let app = http.createServer ( function(request,response){ let url = requ原创 2020-06-08 11:59:54 · 3265 阅读 · 0 评论 -
flutter 踩坑知识点
pageview禁止滑动:physics: new NeverScrollableScrollPhysics()判断平台:Platform.isIOS ;Platform.isAndroid未完待续。。。。原创 2020-03-16 16:50:19 · 352 阅读 · 0 评论 -
关于Calendar.getActualMaximum(field)
今天使用Calendar.getActualMaximum(Calendar.DAY_OF_MONTH) 获取指定月份天数的时候一直取出来的是 31不管月份如何切换,都不变。很纳闷................然后猜想,今天是31号,是否跟这个有关系呢??实践:把日改为 1 Calendar calendar = Calendar.getInstance(); ...原创 2019-07-31 16:13:50 · 941 阅读 · 0 评论 -
Android Parcelable 错误 Parcel: Class not found when unmarshalling
在使用 Parcelable在activity之间传递对象的时候有些系统会报 Parcel: Class not found when unmarshalling错误并且提示 “xx.xxxxx.xxx” ClassNoFound具体原因尚未调查解决方案:1. Intent intent= new Intent(this,XXXActivity.class);Bundle bu...原创 2018-08-04 14:32:50 · 4601 阅读 · 0 评论 -
《关于Android的启动模式和A到B的一些理解——1》
最近面试,遇到面试官问了个问题:activity A到B都已经打开过的情况下的的生命周期。说老实话,开发那么四年多,还真没考虑过这个问题,可能真的有点不思进取了,也有十分是懈怠了。当时直接的回答是:A:onPause;B:onResume。面试官没说什么,但是最后的面试结果不言而喻。回到家后网上搜了一下,看了好多文章直接理解的是 : AonPause->BonCreate->BonSt...原创 2018-05-07 11:25:06 · 528 阅读 · 0 评论 -
android库maven 阿里代理
网址:http://maven.aliyun.com/nexus/content/groups/public/配置:项目的主build.gradle(不是app或者module的)里buildScript下的的 repositories里加入maven { url 'http://maven.aliyun.com/nexus/content/groups/public/'}如果需要新建项...原创 2018-05-07 10:34:50 · 1182 阅读 · 0 评论 -
初涉Retrofit+OKHttp
写在前面的话:习惯性AS开发,初涉,目前状态和要求是能用他两完成网络请求、json数据转换。需要导入的包:compile 'com.squareup.retrofit2:retrofit:latest.integration'compile 'com.squareup.okhttp3:okhttp:latest.integration'compile 'com.squareup.o原创 2016-10-13 02:28:19 · 376 阅读 · 0 评论 -
android笔记-1
对于版本的适配,需要进行4.0+的适配的时候,开发时候最好使用4.0开发,因为,版本是向下兼容的,当然有些地方需要用到高level的api,这个时候就需要在当前代码块中,判断系统版本,根据不同版本,使用不同的api,因为有些api在高的level中是已经废弃掉不使用的,设置可能已经不存在了,所以必须因地制宜了解各个level之间api的区别,谨慎使用。附上一段版本判断代码if(Bu原创 2015-12-26 13:21:57 · 345 阅读 · 0 评论 -
一些自己不太常用,但是却很有用的知识点
一、页面被回收掉,却有着实时的东西需要再次启动的时候使用,publicvoid onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);outState.putLong("id",1234567890);}保存之前的实时信息,再次启动的时候取出来使用。原创 2015-12-08 09:17:24 · 287 阅读 · 0 评论