自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 iOS获取本地视频列表数据

iOS本地的视频存在于三个地方:iTunes中影片中导入的视频文件iTunes中通过共享文件导入的视频文件,即应用沙盒摄像头拍摄的视频文件,可以相册找到这三处获取视频列表方式不同。iTunes中影片中导入的视频文件需要导入头文件: #import <MediaPlayer/MediaPlayer.h>查询代码: // iTunes check MPMed...

2019-01-09 12:11:39 3459

原创 Flutter应用结构分析

Flutter应用结构分析,iOS/Android的ipa/apk结构分析首先,有如下数据,表示在现有项目的ipa/apk集成Flutter后的大小变化beforeafteriOS22KB5MBAndroid2.3MB7MB然后,开始分析集成了Flutter的iOS/Android应用结构:在分析之前,先要了解Flutter的dart语言。Dar...

2019-01-07 12:12:30 783

翻译 集成Flutter到现有项目

集成Fluter到现有iOS & Android项目官方详细文档地址:https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-appsFlutter集成到现有项目功能依旧处于preview状态(2019.01.06)操作环境:MAC/Linux第一步如果要集成到现有项目,需要切换Flutter SDK的...

2019-01-06 21:28:13 2406

原创 关于Android加快应用崩溃效率

关于Android加快应用崩溃效率解决问题:Android应用崩溃后出现ANR应用上线前遇到问题,在应用崩溃后发生了ANR,而且发生ANR的就是本来已经崩溃的应用。由于本次ANR发生在集成了新的crash日志手机模块,在经过过甩锅–打脸的流程后开始认真分析ANR的原因。崩溃日志收集代码如下:class MyApplication: Application { override ...

2018-11-28 11:23:44 194

原创 c语言指针笔记

指针是一个变量,变量的值是内存地址。int a = 10;/** * 指针类型为 int* * 指针指向类型 int * 打印(a)会输出10 * 打印(&a)会输出变量a所在的内存地址 * 打印(*q)会输出变量a的值的内存地址 * 打印(q)会输出指针q指向的内存地址 */int *q = &a;/** * 指针类型为 int* * 指针指向类型 i...

2018-11-19 11:21:01 135 1

原创 java线程之wait(),notify(),notifyAll(),synchronized(obj){},join()

wait(),notify(),notifyAll(),synchronizedwait()和notify()是java.lang.Object的对象方法,synchronized是java关键字;wait()和notify()必须配合synchronized使用。假设有Object obj = new Object();Thread t1 = new Thread(new Runnabl...

2018-11-10 15:08:00 254

原创 Java位运算应用

常见的问运算包括:与(&)、或(|)、非(~)、异或(^)、左位移(<<)、右位移(>>或>>>)与运算:运算符两边操作数同为1时结果为1,否则为0。例:1010 & 1100 = 1000,多位运算时按位与;或运算:运算符两边操作

2018-09-19 17:39:30 227

原创 使用Android Camera2 API获取YUV数据

Using Android Camera2 API Get YUV_420_888使用Android Camera2 API获取YUV数据涉及到的主要的Class如图:demo地址在GithubCamera2 API使用步骤描述:通过getSystemService()方法获取系统服务CameraManager再通过系统服务CameraManager的openCamera方法...

2018-09-19 14:26:29 7907 7

原创 深入了解JVM之内存管理

对象引用判断对象是否需要回收,有“可达性分析算法”:通过一系列的GC Roots对象作为起点,从这些节点开始向下搜索,所走过的路径叫做引用链,,但一个对象到GCRoots没有任何引用链相连(图论:从GCRoots到这个对象不可达), 则证明此对象可回收。可作为GC Roots的对象包括:1. 虚拟机栈中引用的对象2. 方法区中类静态属性引用的对象3. 方法区中常量引用的对象4....

2018-09-12 18:55:25 165

原创 Mac下使用CLion编译zxing-cpp出现Undefined symbols for architecture x86_64

报错如下:Undefined symbols for architecture x86_64: "_iconv", referenced from: (anonymous namespace)::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<cha...

2018-08-17 16:14:09 1328

原创 android调用NotificationManager.notify无效,通知栏不显示

创建NotificationManager和Notificationval notificationManagerCompat = NotificationManagerCompat.from(context)val builder: NotificationCompat.Builder = NotificationCompat.Builder(context, CHANNEL_ID)...

2018-07-16 16:27:25 22630

原创 Linux文件权限详解

Linux文件权限相关

2017-12-18 01:09:18 272

原创 Android双击返回退出应用的写法

private boolean mCanExit = false;@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode==KeyEvent.KEYCODE_BACK && event.getAction()==KeyEvent.ACTION_DOWN){ if (mCanExi

2017-12-06 12:35:34 251

原创 Nginx自定义ETag算法

Nginx基于 nginx-static-etags 三方模块自定义ETag算法nginx-static-etags模块源码:https://github.com/mikewest/nginx-static-etags.git 基于此模块,修改其ETag生成算法。 现改为请求所访问文件的MD5值,代码:https://github.com/z360394624/nginx-static-etag

2017-10-21 17:22:55 3477

原创 HttpStatus 304状态码应用简介

使用HttpStatus304报文头中两个维度支持304: Last-Modified <-> If-Modified-Since ETag <-> If-None-Match 客户端首次请求,服务端返回的报文头Last-Modified包含字段,假设值为a,客户端保存此值; 客户端再次请求会在报文头增加If-Modified-Since字段,值为a,服务端收到请求后

2017-09-22 17:03:42 1301

原创 linux下通过源码编译安装Nginx

linux下通过源码编译安装Nginx 系统需要C/C++编译环境,确保安装了:gcc、gcc-c++、make Nginx需要依赖三方库:pcre、zlib、openssl 修改Nginx配置文件 步骤: 1. 下载Nginx源码和必须的三方库: wget --no-cookies http://nginx.org/download/nginx-1.7.10.tar.g

2017-09-21 00:00:02 433

原创 杂记

1.查询端口pidlsof lsof -i:8080

2017-08-19 01:27:21 220

原创 解决:Command `npm install --save --save-exact react-native` failed.

解决:Command npm install --save --save-exact react-native failed.在Mac上使用 react-native init ProjectName 命令创建一个React_native项目是出现:Commandnpm install –save –save-exact react-nativefailed. google了很多方法都没有解决此问题

2017-08-09 17:01:16 5111

原创 读书笔记《神经网络与深度学习》

读书笔记《神经网络与深度学习》机器学习是人工只能的一个分支,机器学习本身是一个非常大的概念。机器学习是通过算法从大量历史数据中学习规律,从而对新的样本做智能识别或未来做预测。 机器学习按照学习方式分类:监督学习   输入数据包括:历史数据、正确期望值、错误期望值非监督学习   输入数据后有模型自行进行聚类、规则区分强化学习   一个连续决策的过程,其数学本质是马尔

2017-05-26 00:13:32 489

原创 Android踩坑日记

android踩坑日记1. 在使用Toast时,无法自定义Toast显示时间Toast.makeText(Context, Message, [Toast.LENGTH_LONG|Toast.LENGTH_SHORT]).show();  Toast.LENGTH_LONG/Toast.LENGTH_SHORT在源码中的值为1和0,所以makeText方法的第三个参数不能设置为自定义的时间毫秒数

2017-05-23 19:37:03 406

原创 状态机思维

今天新学到一个词“状态机思维”。在任何开发的过程中,都可以用状态机去概括业务流程:一个控件有几个状态,一个数据源有几个状态,数据源的状态变化导致控件渲染的变化。所以使用状态机思维,可以很容易理清复杂的业务逻辑,哪怕是再复杂的的控件组合,不需要关注复合控件的状态机,只需要拆分到原子状态机,业务逻辑就不再复杂了。

2017-04-24 02:11:02 415

原创 List方法中的set操作造成的代码执行中断

再一个回调中输出了两条log,但是发现总是只输出第一条,第二条日志不输出,logcat中没有任何报错和错误日志。现在确定是由于List得set操作导致之后的代码都没有被执行,现在修改set为add操作后问题消失。具体原因待追查,170322标记。

2017-03-22 10:45:06 375

原创 RxAndroid2.0使用概述

传统的观察者实现java.util.Observer接口,被观察者继承java.util.Observable类,当被观察者数据项发生改变时,调用Observable的notifyObservers方法即可通知到所有观察者,观察者的update方法可收到数据改变项的具体内容。RxJava使用扩展的观察者模式,在只有update方法的基础上,增加了onError、onComplete方法,而传统观察者

2017-03-12 11:50:30 3162

原创 java实现一个栈

java实现一个栈:public class Stack<T> { private ArrayList<T> mStack = new ArrayList<T>(); public void push(T value) { synchronized (mStack) { mStack.add(v...

2017-03-04 12:43:21 749

原创 java实现洗牌

有2n张牌,平均分为两堆A与B,然后A放一张,B放一张,形成堆C,直到A与B全部放完,算洗完一次牌。例:有1,2,3,4,5,6顺序的牌,分为两堆 A:1,2,3  及 B:4,5,6,洗碗牌后,堆C为 6,3,5,2,4,1

2017-03-01 22:04:27 600

原创 java两个栈实现一个队列

两个栈实现一个队列public class Queue { /** * 出队栈 */ private Stack mPop = new Stack<>(); /** * 入队栈 */ private Stack mPush = new Stack<>(); /** * 锁对象,防止

2017-03-01 21:25:18 353

原创 重拾数据结构(一)

1.链表与数组,统称线性表(1)链表的首尾相接,每个元素只有一个前驱和后继;数组依靠索引来执行getElement,所以n个链表执行getELement操作最多会遍历n个元素,数字直接可以获取(2)链表删除元素只需要改变后继和前驱,数组需要将删除元素后所有元素迁移一位         需要通过getElement获取元素然后删除,此时链表与数组操作耗时无法确定(3)链表添加元素改变

2017-02-21 01:41:42 358

原创 重拾数据结构(二)

1.字符串:子串就是字符串中任意个连续的字符组成的子序列。例:有字符串String str = “abbbcdfee”,那么“a”,“ab”,"abb","bbb","cdf"等都是字符串str的子床,重点是连续“ac”由字符“a”与“c”组成,但是“ac”不是str的子串,另:“”也是str的子串,即str的有一个空子串,且空子串所有字符串的一个子串。

2017-02-19 15:44:11 235

原创 Android中的杂七杂八

生命周期方法onPause如果在500ms内还未执行完,ActivityManagerService就会强制关闭这个Activity。两个Activity相互切换,A->B->A,A的生命周期应该是onPause->onStop->onStart->onResume,但是如果切换速度快,那么A Activity可能来不及执行onStop与onStart,即A的生命周期会是onPause->on

2017-02-18 20:01:51 348

原创 关于使用StringBuffer内存溢出问题

StringBuffer在数据内容增大时,会为StringBuffer对象追加申请内存,申请数量为当前内存量的一倍,即StringBuffer总数为原内存量的2倍。问题就在这里:现有数据为1024KB,内存为1536KB;在数据修改数据量为1025KB后,那么内存总量将会变为3072KB,只因为1KB的内存数据增长,而申请1536KB内存,有可能导致内存溢出。此问题曾出现在深度定制的rom

2017-02-17 23:10:53 10241

原创 小米手机连接USB安装应用出错

* adb connect命令连接设备,必需要设备为root。小米手机使用USB连接安装应用失败,提示“Installation failed with message INSTALL_CANCLE_BY_USER”解决方案:在“开发者选项” 勾选 “USB安装(允许通过USB安装应用)”以及“USB调试(安全设置) (允许电脑通过USB刷机)”及可正常安装应用

2017-02-17 22:53:02 4568

转载 View事件分发机制

截取自《Android开发艺术探索》三个重要方法:public boolean dispatchTouchEvent(MotionEvent ev);事件分发public boolean onInterceptToucherEvent(MotionEvent ev);判断是否拦截事件,return true由本view处理,return false传递到子viewp

2017-02-10 16:43:06 369

原创 弱引用范例

class CustomRunnable implementw Runnable {private WeakReference mId;public CustonRunnable(String id) {this.mId = new WeakReference(id);}@Overridepublic void run() {String id = this.m

2017-01-12 17:35:12 526

原创 关于No mapping found for HTTP request with URI

在springMVC项目时遇到警告: No mapping found for HTTP request with URI [/XXX/] in DispatcherServlet with name 'XXX'现象是所有页面访问都是404,检查web.xml及applicationContext.xml一切正常。怀疑没有解析到WEB-INF文件夹,于是class="org.spr

2016-12-31 00:09:09 944

原创 AsyncTask用法参数举例

class CustomAsyncTask extends AsyncTask {@overridepublic String doInBackground(Object... params) {return "";}public void onPregressUpdate(Integer... progress) {}}说明:AsyncTask三个对象

2016-12-04 19:16:58 1879

原创 IDEA 2016在创建spring项目时遇到的坑

1.创建完项目后,不做任何改动,直接运行会报错java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener,实际上在创建项目的时候已经勾选了项目需要的spring各个模块,但是还是不行。解决方案:在project structure 下Artifacts目录,Output Layo

2016-07-08 00:09:08 2969

原创 Android热修复研究问题汇总

在研究Android热修复时,偶然找到了Altsuki大神的博客,深受其益。自己实际操作遇到不少问题,在此汇总以自省1.在使用Javassist注入代码过程中遇到了javassist.CannotCompileException: [source error] class not found: com.xxxx.xxx.AnyClass原因:在注入时没有将注入待的Class加入

2016-05-26 15:36:20 452

原创 关于Jenkins使用Gradle对android项目打包遇到的问题总结

1.常见错误:Cannot run program XXX/android-sdk-linux/build-tools/XXX/aapt" (in directory "XXXXX/ProjectPath"): error=2, No such file or directory原因:64位操作系用缺少32位运行库openSUSE 13.2操作系统下需要安装:libstdc

2016-05-19 17:59:13 802

原创 Android-SDK-For-Linux常用命令

#无UI界面更新sdkandroid update sdk --no-ui#列出所有SDK包的基本信息(包括包id),已安装或者未安装的android list sdk --all#选择包id进行安装(加粗标红为包id)android update sdk -u -a -t 1,2,3,4,..,n

2016-05-19 16:24:38 408

空空如也

空空如也

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

TA关注的人

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