- 博客(35)
- 资源 (2)
- 收藏
- 关注
原创 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
591
2
原创 Android列表优化
减少复杂逻辑减少临时对象的创建,比如复用监听布局文件优化,减少布局层级加载数据优化->RV设置缓存数量,LV设置缓存为图片滚动优化->RV减少缓存数量、条件允许的话设定item等高;LV关闭滚动缓存、关闭动画缓存RV:避免整体刷新,尽量使用单项操作或者部分操作。图片加载的控制,在滚动时停止加载图片对文章https://blog.csdn.net/u012230055/article/details/81116355的总结...
2021-05-20 11:48:40
226
原创 linux相关命令
解压 unzip xxx.zip压缩 zip -r xxx.zip xxx/压缩 zip -r xxx.zip ./*nginx重启 nginx -s reload无条件删除 rm -rf xxx下载到本地 sz xxx数据库备份,mysql文件夹下边执行 ./mysqldump -u root -p 数据库名字>/输出目录/输出文件名.sql...
2021-04-25 11:33:56
113
原创 flutter web 记录
三种打包方式flutter build web --releaseflutter build web --web-renderer canvaskit --releaseflutter run -d chrome --web-renderer html --profile
2021-04-09 14:00:50
135
原创 Android 混编项目移除 Flutter Module
非常简单,项目目录里,右键选择对应的flutter module,然后如图选择然后再次右键选择,点击【delete】,完成。
2021-01-14 14:50:09
377
1
原创 Arouter两个module配置一样另一个却 no route的问题
注意一个点,同一个组,比如usercenter,用到这个组的,全部的路径需要都指到一个module,因为只会初始化一次当前组下的路径map,所以如果第一次初始化的是别的地方同样叫 usercenter的,后续的都会在这个里找了...
2020-09-15 16:04:19
246
原创 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
10945
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
3291
原创 flutter fish redux 踩坑
全局发送Action,可以引入 Page.dart,然后使用 shareBus.dispatch();
2020-05-27 17:21:47
279
原创 flutter 踩坑知识点
pageview禁止滑动:physics: new NeverScrollableScrollPhysics()判断平台:Platform.isIOS ;Platform.isAndroid未完待续。。。。
2020-03-16 16:50:19
361
原创 【me.yokeyword:fragmentation】Android 6.0以下界面无法更新的问题
项目使用 ‘me.yokeyword:fragmentation:1.3.6’ 进行界面开发。在 Android 5版本上出现界面无法更新的问题,具体现象是:1、列表数据加载之后页面看不到数据,但是点击等事件有响应,从其他界面返回,数据会显示出来。2、输入框输入内容,看不到内容,但是在退出界面/从其他界面返回时,可以看到。3、界面滚动无反应。分析:都是界面没有实时更新,但是数据和界面其...
2020-01-20 11:21:57
2213
原创 关于Calendar.getActualMaximum(field)
今天使用Calendar.getActualMaximum(Calendar.DAY_OF_MONTH) 获取指定月份天数的时候一直取出来的是 31不管月份如何切换,都不变。很纳闷................然后猜想,今天是31号,是否跟这个有关系呢??实践:把日改为 1 Calendar calendar = Calendar.getInstance(); ...
2019-07-31 16:13:50
949
原创 WebSocket connection to 'ws://xxxxxx/ws/' failed: Unexpected response code: 502
在使用reactJs开发一个项目的时候在适配Android的时候遇到这个问题。首先,前提是这个webscoket地址是可以使用的,并且在电脑浏览器上是可以正常的其次,Android7.0以上的原生浏览器上是正常的(国内其他机型自带浏览器不包括,因为基本都是自己的内核)通过错误可以知道,服务器是连上了,但是发生了错误,又部分机型可能提示的是 握手失败错误查找是通过抓包对比请求头发现...
2018-08-08 16:35:40
71744
原创 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
4632
原创 《关于Android的启动模式和A到B的一些理解——1》
最近面试,遇到面试官问了个问题:activity A到B都已经打开过的情况下的的生命周期。说老实话,开发那么四年多,还真没考虑过这个问题,可能真的有点不思进取了,也有十分是懈怠了。当时直接的回答是:A:onPause;B:onResume。面试官没说什么,但是最后的面试结果不言而喻。回到家后网上搜了一下,看了好多文章直接理解的是 : AonPause->BonCreate->BonSt...
2018-05-07 11:25:06
532
原创 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
1193
原创 关于android&java在socket通讯单字节大于127的问题
android是基于java的,而java的单字节大小是-128~127,当我们需要传入一个大于127的数据时(十六进制),java采取补位算法。0-127,数据为128时,字节中存储的是-128,129时为-127,以此计算一直到-1,为255。很多人担心或者纳闷,字节中存的是负数,服务端是不是得改?,其实不然。只要你传递的数据没有错误,对方接收到的,正常转化后还是你传递的数据,该是什么就是什么...
2017-02-17 13:57:59
2064
原创 初涉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
378
转载 RecyclerView Bug:IndexOutOfBoundsException: Inconsistency detected. Invalid item position …
转载自:Harries http://www.liuhaihua.cn/archives/38762.html今早我更新了 Android Studio 1.2 Preview 和 22 版本的 sdk,包括兼容库也更新到 22.0.0,但是令人失望的是,RecyclerView 存在的一个明显的 bug 仍然没有修复:java.lang. IndexOutOfBo
2016-03-29 17:32:26
517
原创 关于使用webview的一个注意项
在Android系统4.3.1~3.0版本,系统webview默认添加了searchBoxJavaBridge_接口,如果未移除该接口可能导致低版本Android系统远程命令执行漏洞;修复建议:判断系统版本,显式调用removeJavascriptInterface方法移除searchBoxJavaBridge_接口;demo:// 在Android系统4.3.1~3.
2016-01-13 09:35:49
1520
原创 android笔记-1
对于版本的适配,需要进行4.0+的适配的时候,开发时候最好使用4.0开发,因为,版本是向下兼容的,当然有些地方需要用到高level的api,这个时候就需要在当前代码块中,判断系统版本,根据不同版本,使用不同的api,因为有些api在高的level中是已经废弃掉不使用的,设置可能已经不存在了,所以必须因地制宜了解各个level之间api的区别,谨慎使用。附上一段版本判断代码if(Bu
2015-12-26 13:21:57
350
原创 Volley的网络请求有内存溢出现象学到的一点知识
今天进行程序内存溢出/泄露测试,使用的是LeakCanary,发现除了几个上一个开发者开发习惯问题(什么都喜欢使用静态变量,而且是public的到处调用)外,基本都是报Volley的错误监听回调有溢出,经过百度后发现是因为RequestQueue重复获取的问题,获取一次就新建一个RequestQueue对象,而之前的还在进行网络请求的的就形成了泄露。解决方案很简单,把自己的volley工具类定
2015-12-19 14:56:07
1988
原创 一个基本app的搭建
1、首先得确定app的开发目标,比如网上商城2、确定框架:网络框架volley、图片加载框架 Android-Universal-Image-Loader、数据统计和社交分享集合 友盟、json数据转换工具 GSON、地图(百度、高德、腾讯)、推送(极光、百度、友盟)3、这是时候就可以建项目了4、项目建立后,把库文件都加到项目,进行初始化配置5、按照设计模式(MVC/MVP)开
2015-12-18 15:03:07
1433
原创 一些自己不太常用,但是却很有用的知识点
一、页面被回收掉,却有着实时的东西需要再次启动的时候使用,publicvoid onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);outState.putLong("id",1234567890);}保存之前的实时信息,再次启动的时候取出来使用。
2015-12-08 09:17:24
292
原创 android关于RecyclerView的使用
只说要点。1、自定义的ViewHolder需要继承RecyclerView-V7包里的ViewHolder ,实现构造方法。2、自定义的adapter需要继承RecyclerView-V7包里的Adapter,也就是RecyclerView-V7包里的Adapter。需要实现:getItemCount方法、onCreateViewHolder方法(返回自定义的ViewHolder)、onB
2015-11-02 22:35:54
506
原创 关于排序的Comparison method violates its general contract!错误
原因:jdk6与jdk7排序算法之间存在着不兼容。jdk6默认使用 java.util.Arrays.useLegacyMergeSort进行排序;jdk7默认使用java.util.Arrays.TimSort(似乎)。然后默认情况下我们只返回了1、-1,所以造成了之前的错误。 解决方案:在compare方法中添加“==”情况下的 “0”返回值。
2015-10-12 12:02:30
1405
转载 android TextView增加下划线或者删除线
textview.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);//下划线textview.getPaint().setFlags(Paint. STRIKE_THRU_TEXT_FLAG ); //中间横线textview.getPaint().setAntiAlias(true);// 抗锯齿@转载自网络
2015-06-01 10:40:20
473
原创 HttpURLConnection 403错误
myConn.setRequestProperty("User-agent","Mozilla/4.0");
2014-08-12 11:08:57
1382
原创 Android webview刷新 Uncaught ReferenceError: isReadyForPullUp is not defined at null:1
加载的html文件中没有定义 isReadyForPullUp的js方法,吧isReadyForPullUp改为其他xxxx,那就是html文件中的xxxx的js方法没有定义
2014-04-03 12:01:52
2653
原创 作为一名只学了大学JavaEE+ssh的大学生写的服务器接口
写在前面的话:出来实习,在一个主做苹果移动开发的小公司,而我的职位是android工程师,在开发手机端的时候还得兼顾服务端的开发,因为当时就我一个会服务器开发的,服务器要求是接口json请求,返回json数据。可问题是在学校里做的都是javaee基于ssh的web服务器,没做过开放接口方式的服务器,在差不多一个星期的打转里,用过javaee自带的wsdl、axis,可是他两对json的支持都不是十
2014-03-28 10:08:36
1180
1
原创 对android的一些感想——2014-03-26
今天看了网上一些大神的博客,意识到了一些自身存在的问题。1、规范的编码是很重要的,方便其他同事的理解和阅读,有助于team work;2、很重要的一点,创建自己的库,将一些常用的基类、扩展类、动画效果、图片,储存起来,当再次开始一个项目的时候,架构起来就会很方便,使用到一些资源的时候也会很快能找到;3、在有一定的基础上,多对底层进行分析和深入,刚开始不需要做什么,知需要去了解它就好
2014-03-26 18:34:32
492
转载 一位程序员的爱情表白(娱乐版)
在论坛里看到一贴,觉得写得还不错。呵呵~~~我能抽象出整个世界... 但是我不能抽象出你... 因为你在我心中是那么的具体... 所以我的世界并不完整... 我可以重载甚至覆盖这个世界里的任何一种方法... 但是我却不能重载对你的思念... 也许命中注定了 你在我的世界里永远的烙上了静态的属性... 而我不慎调用了爱你这个方法... 当我
2014-03-26 16:35:53
576
转载 解决listview跟ScrollView的嵌套
重写ListView的OnMesure 方法。protectedvoid onMeasure(intwidthMeasureSpec, intheightMeasureSpec) {intexpandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpe
2014-03-26 16:19:52
550
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人