12 LVXIANGAN

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 277

Java之各种锁,乐观锁、悲观锁、自旋锁、轻量级锁、偏向锁、重量级锁

锁的分类锁从宏观上分类,分为悲观锁与乐观锁乐观锁  乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟上一次的版本号,如果一样则更新),如果失败则要重复读-比较-写的操作。  java中的乐观锁基本都是通过CAS操作实现的,CAS是一种更新的原子操作,比较当前值跟传入值是否一样,一样则更新,否则失败。悲观锁  悲观锁是就

2020-10-26 22:58:45

Android之bindService启动服务与Activity生命周期关系

问:为什么bindService可以跟Activity生命周期联动?答: 因为bindService时LoadApk将ServiceConnection用map保存了起来,当Activity被destroy时会执行removeContextRegistrations来清除 该context的相关注册。所以Activity退出时服务也被解绑。启动service有两种方法: 1、 Context.startService():调用者与服务之间没有关联,即使调用者退出,服务...

2020-10-26 11:34:01

Android之如何进行日志分析

一直以来,我们对日志分析,往往基于Andorid Studio的Logcat日志输出,虽然使用Logcat 工具栏是我们最重要的分析手段之一,但它有很大的局限性,那就是必须真机连接电脑,而且Logcat输出是有大小限制的。对于一些离线设备,如果要通过连接Logcat去作日志分析,这往往会非常不现实。以Android系统的车载主机为例,面对市场用户对软件问题投诉,我们需要对离线日志进行分析,通常做法是主机把日志输出写入存储设备,通过暗门开关取出日志分析。然而拿到的日志往往是这样的:随.

2020-10-24 10:28:48

在notepad++等记事本使用正则表达式

正则表达式看起来让人一头雾水,但只要掌握了表达式含义,使用起来非常简单。常见语法如下:

2020-10-15 21:47:26

Excel之走势图/折线图

下图Excel中,缺陷走势折线图会随着单元表格(每周新增、Bug预期修复数量)这两列填写数据自动生成折线:上表是是如何实现的呢?1、只需要填写“每周新增“缺陷数,自动计算缺陷总数。2、插入-----折线图3、 选择折线图---右键---按住Ctrl键自由选择列即可:...

2020-10-12 22:12:48

Excel之表格斜线一分为二后输入文字

在Excel中,对一个单元格进行拆分,且在单元格内实现文字不同位置显示,如下图:操作步骤如下:1、选择单元格---右键---设置单元格式.....设置完成后如上。2、继续输入文字:姓名成绩3、文字回车换行4、使用空格调整,大功告成!...

2020-10-12 22:46:28

智能网联之TBox、ECall、BCall、ICall是什么?

随着汽车智能网联不断发展,主机屏幕已经由最初单纯的多媒体应用展示窗口,逐渐演变成为链接生活、通讯、娱乐、出行等与人们密切相关的各种功能集合。在网联通讯中,主机系统不仅可以链接蓝牙电话,还支持ECall / BCall / ICall 功能。下面简单介绍下会遇到的常用名词:TBox 是汽车网络通讯的重要部件,一个带通讯功能的盒子,内含一张SIM卡,配套硬件还有GPS天线、4G天线等,可以提供位置定位、移动网络服务。简单理解它就是一个内置SIM卡的无线WIFI,不同之处是在于它还支持拨打电话,一般只能拨打.

2020-09-23 21:25:56

Android之ContentValue分析

ContentValues是一个基于HashMap封装的类,常用于ContentProvider相关开发中,它与HashMap主要区别在于:前者只能存储基本类型的数据,等同于HashMap<String,基本数据类型>源码:具体用法:public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceStat.

2020-09-14 22:01:00

Android Studio之dependencies使用+号注意事项

导入项目工程代码时,在编译代码时总会遇到类似错误:Could not resolve com.android.support:appcompat-v7:28.0.0-alpha3 之类的提示,这个错误通常是gradle 配置dependencies依赖库版本不支持导致。因为不知道要配置什么版本号,总喜欢直接填了一个 + 号,如图:当配置版本号为 + 时,每次编译代码时会去代码仓库拉取最新版本。例如:本地版本是1.3.0,最新发布了1.3.5版本,当重新编译时,系统会自动去maven仓库更新到1.3.

2020-09-14 21:43:19

Excel表格复制到Foxmail不显示边框

在复制粘贴Excel表格内容到Foxmail 时,边框粗线经常出现某一边不显示问题:在Excel 表格显示完好:复制表格粘贴到Foxmail 邮件时,出现了局部边框不显示问题。解决方法:将表格先复制-粘贴到word文档, 再从word文档复制粘贴到Foxmail显示终于恢复正常,如上图。...

2020-09-11 10:22:55

Android之使用adb命令检查网络连接

收到测试反馈:“你负责的Android应用无法访问网络,但其他app功能能够正常访问网络,请检查代码有没有问题”背景:在自定义Android主机系统中,内置TBOX(实际是内置了一个sim卡移动网络)① ping目标主机的域名和IP(ping会自动将域名转换为IP) ② 不带包头的包大小和带包头的包大小(参考“-s”参数) ③ icmp_seq:ping序列,从1开始;   ttl:剩余的ttl;   time: 响应时间,数值越小,联通速度越快; ④ 发出去的包数,返回的包数,.

2020-09-08 22:47:22

Android之四大组件与Context关系

2020-09-08 10:47:33

Android之隐藏但不销毁Activity

要实现Activity显示完成后隐藏不销毁,实现思路方法很简单:保证为单例对象 设置为隐藏不可见保证为单例对象:可在AndroidManifest.xml 中配置activity 参数为 android:launchMode="singleInstance"设置隐藏不可见:方法1:设置透明度WindowManager.LayoutParams lp = getWindow().getAttributes();lp.alpha = 0f;getWindow().setAttribu..

2020-09-08 09:56:57

内存抖动、内存泄露、内存溢出

内存抖动:在短时间内有大量对象被创建或者被回收的现象,主要原因是频繁在循环里创建对象。 在程序里,每创建一个对象,就会有一块内存分配给它;每分配一块内存,程序的可用内存也就少一块;当程序被占用的内存达到一定临界程度,GC 也就是垃圾回收器(Garbage Collector)就会出动,来释放掉一部分不再被使用的内存。Android 里的 View.onDraw() 方法在每次需要重绘的时候都会被调用,这就意味着,如果你在 onDraw() 里写了创建对象的代码,在界面频繁刷新的时候,你就也会频繁创建出一大

2020-09-06 16:25:34

版本管理之SVN解决文件更新慢问题

最近项目开发中,在更新UI设计图时,发现直接update一次奇慢,至少要几个小时,明明只有十几张图片,为什么那么慢呢?十几张图下载高达几个G,有点奇怪!经过排查分析,原来是PSD文件过大造成的,UI设计人员直接把PSD文件上传到SVN服务器了,导致了每次下载更新非常慢。PSD文件对于我而言用不到(各位看官不一定是这个原因哈,这里只作示例说明),所以考虑把它过滤掉,更新时不下载。步骤如下,不废话,直接上图说明吧。点击“OK”确认,完毕!...

2020-09-04 10:09:32

什么是甘特图?

简介甘特图(Gantt chart)又称为横道图、条状图(Bar chart)。其通过条状图来显示项目,进度,和其他时间相关的系统进展的内在关系随着时间进展的情况。以提出者亨利·劳伦斯·甘特(Henry Laurence Gantt,美国)先生的名字命名。发明来由甘特为管理学界所熟知的,是他发明的甘特图(GanttChart)。由于甘特过去当过教员,因而他注意用图表方法对管理进行生动地说明。在早期,他用水平线条图说明工人完成任务的进展情况,每天把每个工人是否达到标准和获得奖金的情况用水平线.

2020-08-28 21:20:11

Android之巧用adb命令

我们在使用adb命令对设备进行截屏、录像等操作时,可以配合使用批处理命令。1、一键截屏adb shell /system/bin/screencap -p /sdcard/screen.pngadb pull /sdcard/screen.png C:/Users/lvxiangan/Desktop/"%date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,2%-%time:~3,2%-%time:~6,2%.png"把上述代码保存到文本,重命名:一键截图

2020-08-28 14:14:55

AndroidStudio之Git提交代码出现author ‘xxx‘ is not ‘Name ‘ and matches no existing author 的解决方法

Android Studio通过VCS提交代码时,收到Commit failed with error,author 'xxx' is not 'Name ' and matches no existing author 如下图:错误原因:Author字段用户名填写错误导致。常见错误如下:随便填写了一个名字,但没有邮箱地址解决方式:调整Author填写内容格式:用户名<lvxiangan@163.com>用户名可自定义,邮箱地址为Git账号邮箱,必须用尖括号包围...

2020-08-28 11:45:27

Android之音频开发基础入门

采集音频是模拟信号转化为数字信号的过程。关于Android采集音频的过程,我们需要了解几个概念:1.采样率采样是把模拟信号转化为数字信号的过程。图上的纵向直线间隔越密集,表明采样率就越高,采样率越高,音频的音质就越高。目前Android手机中,44100kHZ可以兼容全部手机的采样率。2.量化精度(位宽)上图中,箭头点为采样点。每个采样点都需要用一个数值表示大小,这个数值的类型可以是4bit,8bit,16bit,32bit等。位数越多,表示越精细,声音质量就越好,而数据量也会成

2020-07-12 23:12:22

Android之性能优化之View.GONE和View.INVISIBLE

Android中UI应用的开发中经常会使用view.setVisibility()来设置控件的可见性,其中该函数有3个可选值,他们有着不同的含义:View.VISIBLE--->可见 View.INVISIBLE--->不可见,但这个View仍然会占用在xml文件中所分配的布局空间,不重新layout View.GONE---->不可见,但这个View在ViewGroup...

2020-04-06 11:58:45

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 1024勋章
    1024勋章
    #1024程序员节#连续参与两年活动升级勋章,当日发布原创博客即可获得
  • 分享宗师
    分享宗师
    成功上传21个资源即可获取