自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 CopyOnWriteArrayList踩坑记

一、背景前段时间开发了一款Flutter插件,用于对原生的Raw Gnss数据进行采集,并且支持高频率的IMU数据写入。设计了一个缓存池,缓存3分钟采集的日志信息,采用了多线程添加数据,每隔一分钟会执行一个定时任务,清理过期数据。为了省事儿,我当时直接使用了CopyOnWriteArrayList缓存字符串,后续使用过程中,发现后台频繁爆出gc回收垃圾的日志,经过排查,定位到了这个并发类上,通过阅读源码,才知道,这个坑原来是自己理解不到位所致,同时对于为什么CopyOnWriteArrayList只适用于

2021-04-13 10:18:14 590

原创 Flutter map瓦片加载及计算原理

近期在flutter_map开源地图插件的基础上实现了一个可拖拽polygon的功能,觉得还是蛮有意思的,故而记录一下。先展示一下功能吧1.在地图上可以根据手指落下的位置绘制点2.对绘制的点进行拖拽调整,不论封闭与否3.当大于3个点时,点击第一个点会进行闭合操作4.线段若相交,则变红比较郁闷的是flutter_map(0.10.1+1)并没有提供可进行拖拽的marker,所以,为实现这个功能,我们需要先扩展一个drag_marker类,因为是保密类项目,所以只能说下大概的过程,代码细节等可以参

2021-04-13 10:13:57 641

原创 配置zsh终端打开VsCode

我们在使用zsh终端的时候,如何通过命令快速启动VsCode呢?过程很简单,我们一起看看吧。首先在iterm2中打开zsh配置文件open .zshrc然后在弹出的文档末尾处添加如下代码# open vs codefunction code { if [[ $# = 0 ]] then open -a "Visual Studio Code" else local argPath="$1" [[ $1 = /* ]] &am

2021-04-13 10:12:51 2149

原创 Flutter doctor 提示 Android license status unknown解决方案

在安装完Flutter,运行flutter doctor检测依赖时提示✗ Android license status unknown. Try re-installing or updating your Android SDK Manager. See https://developer.android.com/studio/#downloads or visit https://flutter.dev/setup/#android-setup for detailed ins

2021-04-13 10:11:07 1242

原创 针对自定义及动态创建View的换肤实践

一、背景公司的业务需要使用换肤功能实现白天/黑夜模式,调研了市场主流换肤框架,主要采用了LayoutInflater.Factory接口干涉Xml中View解析的过程,将创建View的过程由自己来接手。但本项目大量使用自定义View及动态创建View,Xml中描述界面的情况不多,针对这种情况,我设计了一套轻量级的实时换肤框架。二、使用项目UI框架是单Activity+多Fragment的结构,为满足实时刷新,不出现页面闪烁的需求,所以从三个方面来实现换肤功能。1.Activity当前项目中需要实时

2021-04-13 10:09:02 218

原创 Flutter绘制可拖拽多边形

近期在flutter_map开源地图插件的基础上实现了一个可拖拽polygon的功能,觉得还是蛮有意思的,故而记录一下。先展示一下功能吧1.在地图上可以根据手指落下的位置绘制点2.对绘制的点进行拖拽调整,不论封闭与否3.当大于3个点时,点击第一个点会进行闭合操作4.线段若相交,则变红比较郁闷的是flutter_map(0.10.1+1)并没有提供可进行拖拽的marker,所以,为实现这个功能,我们需要先扩展一个drag_marker类,因为是保密类项目,所以只能说下大概的过程,代码细节等可以参

2020-08-20 20:44:37 1199 2

原创 MAC使用Nginx推送RTMP+HLS直播流

最近在测试ijk播放器的解码性能等功能,所以搭建了nginx模拟直播推流,在这里,主要讲解rtmp和hls推流方式的环境搭建。笔者采用的是Mac系统,不过Windows也大同小异,就不再单独篇幅进行介绍了。一、安装HomebrewHomebrew是mac系统下的一个软件包的管理器,通过使用该工具,能很方便的去安装以及卸载软件。在命令行中执行如下命令即可安装。/usr/bin/r...

2018-09-05 19:54:33 672 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除