自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张拭心的博客 shixinzhang

“厚德求真·励学笃行”,输入->思考->输出

  • 博客(359)
  • 资源 (11)
  • 收藏
  • 关注

原创 Android NDK 报错:undefined reference to ‘main‘(invalid character)解决办法

好久没写博客了,现在更习惯用脑图记录知识点,记一些关键字即可,快速又成体系。不过分享的初心还是要保持,不能总是索取而不贡献,现在雷同的内容太多了,还是需要一些较为稀缺的信息。在通过其他前辈分享的文章学习知识、解决问题后,这种想法就更加强烈。今天遇到一个奇怪的问题,报错如下:* What went wrong:Execution failed for task ':profmancompat:externalNativeBuildRelease'.> Build command failed

2020-10-24 21:22:15 298

原创 拭心过滤器第 1 期:五月精选文章

大家好,我是张拭心。周围的朋友都很优秀,我经常会想:为什么 xx 说话那么有水平?xx 的知识面那么广?xx 的成长那么快?除了少部分是天赋差距以外,我觉得更多的是认知差距,说的简单一点,就是长期以来接受和处理信息的差别。接收的信息是否高质量,能否思考发现现象背后的原因和规律,这是提高认知水平的两个关键因素。人人都是自媒体的时代,好处是每个人都可以发声,坏处则是很多自媒体的内容质量并不高(包括我的一些内容),这导致发现优质内容的成本更高了。阅读的信息良莠不齐,浪费时间;有价值的知识点太零碎,不成体

2020-05-31 16:28:33 1377

原创 我的 2019 总结:警钟为谁而鸣

2018 年总结之工作篇2017 年总结2016 年总结以前擅长一些游戏,是因为花了些时间研究技巧和规则。现在开启了人生这场终极大作,却很少思考其中的规则和路线,大多时候都顺应内心随波逐流,以至于现在回首 2019,对自己不太满意。人太容易在实际中迷失,而忘了自己究竟要去哪儿。去年、前年我的目标是:“成为具备创业激情和创业各方面能力的人”。现在想想,目标设定的太远,远到脱离当下实...

2020-02-21 19:48:12 1728 2

原创 微信热修复框架 Tinker 从使用到 patch 加载、生成、合成原理分析

这篇文章是基于内部分享的逐字稿内容整理的,现在比较喜欢写逐字稿,方便整理成文章。文章目录目录Tinker 介绍使用TinkerApplicaition``SampleApplicaitionLike``TinkerInstaller总结运行时 Tinker 是如何加载补丁加载 dex混合编译与热修复加载资源加载 sodex diffdex 格式tinker patch 格式了解diff 和合...

2019-12-01 12:51:00 4549 3

原创 《可复制的领导力》脑图

2019-10-03 00:12:16 877 1

原创 《别让猴子跳回背上》脑图

2019-09-30 20:29:01 922

原创 Android 编译报错: Caused by: java.util.zip.ZipException: zip file is empty 解决办法

记录一个浪费了几个小时的小坑。使用 Aspectj 后,一开始还没问题,不知道修改了什么导致编译报错:Caused by: java.util.zip.ZipException: zip file is empty各种搜索无果,最后发现,居然是自定义的 Pointcut 写错了!删掉后就可以了。。。...

2019-08-29 12:38:33 4170 1

原创 毕业三年总结

毕业一年总结 毕业两年总结

2019-07-14 22:39:33 2094 10

原创 5分钟了解《代码整洁之道》精华

 让软件能工作和让软件保持整洁,是截然不同的工作,后者需要投入的更多。 大多数人只能更多地把精力放在让代码能工作,而没办法保持代码有组织更整洁。能做到代码整洁,说明你已经不是一般人了。 本文内容主要分以下几点:什么样的代码是整洁的 取个好名字 让函数再整洁一点 注释的好与坏 格式化 异常处理和边界 整洁的类1.什么样的代码是整洁的如上图所示,衡量代...

2019-02-27 10:24:24 7166 9

原创 回顾我这一年多的 Git commit 日志

一眨眼已到 2018 年底,我入职喜马也一年多了,这一年里成长了不少,但对外输出少了很多,主要原因还是太懒。今天趁懒癌没发作,跟着 git 提交日志,回顾一下这一年多写的代码。刚入职一个多月的提交可以看到,我的提交日志还是比较清晰的,当次提交做了什么,基本可以一目了然。刚开始那一个月,主要是熟悉项目,然后做一些比较简单、关联性比较低的需求,比如直播首页、个人资料卡的修改。新人对项目了解...

2018-11-13 00:04:51 7383 19

原创 毕业两年总结

文章目录:现状想成为什么样的人做了什么有意义的事,距离目标还有多远认知上有什么进步价值职业观人际交往有没有更认识自己是什么样的人有什么后悔的事自己需要反复看的话总结去年七月写了《毕业一年总结》,一转眼就又是七月。过去这一年经历了不少事,回头看看,大多数选择还是比较满意的。今天趁着有空,对毕业后的第二年做个总结吧。文章主要内容:现状想成为什...

2018-07-30 02:02:11 10314 43

原创 重温数据结构:理解 B 树、B+ 树特点及使用场景

读完本文你将了解:B 树对比平衡二叉树和 B 树B 树中如何查找数据B 树如何保证平衡使用场景B+ 树Thanks大家好,前面那篇文章《3 分钟理解完全二叉树、平衡二叉树、二叉查找树》中我们了解了几种特殊的二叉树的功能及特点,知道了它们在进行查找数据时可以提高效率,但需要注意的是,这是指在内存中进行查找。如果有海量的数据,不可能一次性读取到内存中,这时候就要考虑...

2018-05-29 00:46:13 12216 7

原创 我的自控力心得

大家好,我是张拭心,终于到周末了,忙碌了一周,周末需要多多思考总结,和大家分享下我今天的总结。前几天和朋友聊起自控力这个话题,大家纷纷表示:哇拭心你自控力太强了,博客写了三四年,公众号也运营的这么好,每天有这么多铁粉给你点广,怎么能像你一样强。听到这些赞美之词我微微一笑十分淡然,心里却已经笑开了花哈哈。千穿万穿马屁不穿,古人诚不欺我。如此谦虚谨慎的人听到这种话都忍不住飘飘然,更何况一般...

2018-05-27 17:49:32 6682 46

原创 Android 框架学习4:一次读懂热门图片框架 Picasso 源码及流程

Android 框架学习1:EventBus 3.0 的特点与如何使用 Android 框架学习2:源码分析 EventBus 3.0 如何实现事件总线 Android 框架学习3:我从 EventBus 中学到的精华通过本篇文章你将学到如下内容:假如我们来写一个框架走近 Picasso认识核心 API请求信息相关的类加载行为相关的类图片获取处理相关的类调度器...

2018-03-27 21:57:20 4765 12

原创 我的 2017 :追逐更好未来的一年

2017年的形势情2017年我跟随的趋势内容付费2017年做的那些选择主动离开选择新工作感情问题2017年心境的转变开始注重健康视力保护按摩锻炼2017年流水账总结写 16 年的总结 《我的 2016 总结:认识自己》 仿佛就在昨天,时间就像脱缰的野驴,一下子就跑了写 17 年总结的时候。2017年的形势情《资治通鉴》荀悦论曰: 夫

2018-01-04 08:01:45 6411 21

原创 Java 基础巩固:内部类的字节码学习和实战使用场景

文章出自:安卓进阶学习指南 主要贡献者: Cloud9527 Alex_赵 Struggle shixinzhang 读完本文你将了解: 背景介绍四种内部类介绍成员内部类静态内部类局部内部类匿名内部类内部类的使用场景成员内部类的使用场景静态内部类的使用场景匿名内部类的使用场景局部内部类内存泄漏总结...

2017-11-30 22:59:17 5528 2

原创 Java 基础巩固:再谈抽象类和接口

文章出自:安卓进阶学习指南 主要贡献者: Milo Struggle shixinzhang 读完本文你将了解:背景介绍什么是抽象类和接口特点与区别抽象类的特点接口的特点栗子小结如何选择抽象与多态面向接口编程多态继承和组合总结Thanks背景介绍大家好,这篇文章是 《安卓进阶技能树计划》 的第一部分 《Java 基础系列》 的第一篇

2017-11-02 00:01:02 10384 13

原创 Java 常用工具类 Collections 源码分析

文章出处 文章出自:安卓进阶学习指南 作者:shixinzhang 完稿日期:2017.10.25Collections 和 Arrays 是 JDK 为我们提供的常用工具类,方便我们操作集合和数组。这次之所以总结这个,是因为在一次面试中被问到一个细节,回答地不太好,这里补一下吧。由于两个都是工具类,我们就放在一起学习。读完本文你将了解:文章出处Collections提

2017-10-26 02:19:38 24672 46

原创 Android 进阶17:Fragment FragmentManager FragmentTransaction 深入理解

日常开发中我们经常使用 Fragment 管理布局,使用起来非常方便,但是在简单的 API 背后隐藏了什么操作,很多人恐怕不了解。如果你回答不出这些问题,那这篇文章可能就对你有些帮助:Fragment FragmentManager FragmentTransaction 的关系和作用Fragment 如何实现布局的添加替换嵌套 Fragment 的原理读完本文你将了解:Fragment 的

2017-09-29 13:36:42 17872 9

原创 九月总结:结束两年左右的工作有感

一转眼九月又过去了,这个月没怎么写博客是因为事情太多了,感觉心一直在路上。今天休息了整理一下,希望对你也有些启发。这个月主要有 3 件事:结束将近两年的工作GitChat 分享及感悟感情问题导致的思考每一件事都耗费了很大精力,三件事对我的影响加起来,使得九月可能是今年最重要的一个月。结束将近两年的工作参与四个项目的开发同事身上学到的小结GitChat 分享及感悟对免费主义的看法对

2017-09-06 14:51:21 16263 46

原创 并发编程6:CopyOnWriteArrayList 的写时复制

首先提个问题: - 线程安全的 List 集合有什么? - CopyOnWriteArrayList 的特点以及使用场景? 如果这个问题你答不上来,那这篇文章可能就对你有些价值。读完本文你将了解:CopyOnWriteArrayList 简介CopyOnWriteArrayList 源码分析Android SDK 25底部实现读取操作修改操作迭代器CopyOnW

2017-08-20 09:58:06 8421 1

原创 npm 与 package.json 快速入门教程

npm 是前端开发广泛使用的包管理工具,之前使用 Weex 时看了阮一峰前辈的文章了解了一些,这次结合官方文章总结一下,加深下理解吧!读完本文你将了解:什么是 npm?安装 npm更新 npmpackage.json 文件package.json 如何创建package.json 的内容指定依赖的包Semantic versioning(语义化版本规则)安装 pac...

2017-08-02 19:16:20 94422 20

原创 Git HEAD detached from XXX (git HEAD 游离) 解决办法

本文 Git 图片主要来自:图解 Git,非常感谢!读完本文你将了解:什么是 HEADHEAD 游离状态的利与弊具体解决操作Thanks什么是 HEADGit 中的 HEAD 可以理解为一个指针,我们可以在命令行中输入 cat .git/HEAD 查看当前 HEAD 指向哪儿,一般它指向当前工作目录所在分支的最新提交。当使用 git checkout 切换

2017-07-28 20:13:44 60483 9

原创 RxJava 1.x 笔记:组合型操作符

最近去检查眼睛,发现度数又涨了,唉,各位猿多注意保护自己的眼睛吧!前面学了 RxJava 的三种关键操作符:创建型操作符过滤型操作符变换型操作符读完本文你将了解第四种(组合型操作符):组合型操作符ZipzipzipWithCombineLatestcombineLatestwithLatestFromJoinjoingroupJoinMergemergemergeDe

2017-07-26 19:36:24 4562

原创 RxJava 1.x 笔记:创建型操作符

本篇文章是阅读 官方文档 的笔记。 作者:shixinzhang(百度搜索 “shixinzhang CSDN” 即可找到我)RxJava 也用了有段时间,那么多操作符总不想去记,遇到了才去查一下,查的次数多了感觉效率太低,还不如先过一遍官方文档。因此接下来几篇我们一起刷一遍 RxJava 官方文档,这个过程可能会很枯燥,但是像电影里少林寺练功 一样,只有先通过枯燥的学习掌握基本功,然后才能考虑如

2017-07-18 10:56:57 4208

原创 RxJava 1.x 笔记:过滤型操作符

我真的是奇怪,上下班的路上看书、看文章学习的劲头特别大,到了周末有大把的学习时间,反而不珍惜,总想打游戏,睡前才踏踏实实地写了篇文章,真是服了自己! 本文内容为 RxJava 官方文档 学习笔记 作者:shixinzhang读完本文你将了解:过滤型操作符DebouncedebouncethrottleWithTimeoutDistinctdistinctdistinctkey

2017-07-15 23:49:47 6941 5

原创 RxJava 1.x 笔记:变换型操作符

在写这几篇 RxJava 笔记时,发现官方文档很久都没有更新啊。一些前辈两年前写的学习笔记内容跟现在也基本一致,Rx Java 2.x 的文档也基本没有,不知道是不是缺实习生。 本文内容为 RxJava 官方文档 学习笔记 作者:shixinzhang读完本文你将了解:变换型操作符Bufferbuffercountbuffercount skipbufferbufferClosi

2017-07-12 23:09:03 4901

原创 Android 框架学习3:从 EventBus 中学到的精华

关联文章:EventBus 3.0 的特点与如何使用源码分析 EventBus 3.0 如何实现事件总线学习的目的是为了超越,经过前面对 EventBus 3.0 的学习,我们已经对它相当熟悉了,现在来总结下,从这个框架里我们可以学到些什么。读完本文你将了解:EventBus 解决了什么问题EventBus 的思想EventBus 的编译时注解EventBus 用到的设计模式值得学习的

2017-07-06 19:23:43 10048

原创 工作总结10:毕业这一年的收获

本文内容:当前状况工作方面目标业务软件工程代码沟通协作生活方面感情亲人朋友不足总结去年七月初毕业来到上海,一转眼就又是七月了,这一年还是经历了不少事,回头看看,这一年中的大多数选择还是比较满意的。今天趁着懒癌没发作,总结一下这一年的收获吧。当前状况毕业一年,上海,创业公司,安卓开发,无房无车,几乎无存款,身体还算健康,但缺乏锻炼免疫力差,女友关系和睦,离家很远。工作方面毕业后

2017-07-05 22:21:08 18000 35

原创 使用编译时注解简单实现类似 ButterKnife 的效果

这篇文章是学习鸿洋前辈的 Android 如何编写基于编译时注解的项目 的笔记,用于记录我的学习收获。读完本文你讲了解:什么是编译时注解APT编译时注解如何使用与编写举个例子思路创建注解创建运行时绑定的类创建注解处理器完成编写使用一下遇到的坑代码地址总结Thanks什么是编译时注解上篇文章 什么是注解以及运行时注解的使用 中我们介绍了注解的几种使用场景,这里回顾一下:编译

2017-07-05 19:37:42 6142 1

原创 Java 进阶巩固:什么是注解以及运行时注解的使用

这篇文章 2016年12月13日星期二 就写完了,当时想着等写完另外一篇关于自定义注解的一起发。结果没想到这一等就是半年多 - -。有时候的确是这样啊,总想着等条件更好了再干,等准备完全了再开始,结果好多想法、好多事情都不了了之。读完本文你将了解:什么是注解Java 内置的注解个用于通知编译器信息的注解个用于修饰注解的注解自定义一个注解注解的作用注解的用法运行时注解总结Thank

2017-07-05 19:22:59 8373 5

原创 并发编程5:Java 阻塞队列源码分析(下)

上一篇 细说并发4:Java 阻塞队列源码分析(上) 我们了解了 ArrayBlockingQueue, LinkedBlockingQueue 和 PriorityBlockingQueue,这篇文章来了解剩下的四种阻塞队列。读完本文你将了解:七种阻塞队列的后四种DelayQueueDelayQueue 的关键属性实现 Delayed 接口延时阻塞队列如何实现DelayQueue 使用

2017-06-26 17:48:56 4052 1

原创 并发编程4:Java 阻塞队列源码分析(上)

上篇文章 趣谈并发3:线程池的使用与执行流程 中我们了解到,线程池中需要使用阻塞队列来保存待执行的任务。这篇文章我们来详细了解下 Java 中的阻塞队列究竟是什么。读完你将了解:什么是阻塞队列七种阻塞队列的前三种ArrayBlockingQueue看它的主要属性构造函数四种添加元素方法的实现四种获取元素的实现LinkedBlockingQueueLinkedBlockingQueue

2017-06-23 07:55:24 5396 6

原创 并发编程3:线程池的使用与执行流程

并发编程系列的文章酝酿好久了,但由于没有时间和毅力去写那么多练习 demo,很多文章写了一半就停止了。在写某一系列的过程中总有其他想写的内容蹦出来,想忍住不分散精力太难了,所以我很佩服那些能专心研究、总结一个专题的人,他们是有毅力的人!关于学习的方式我也困惑过很久,究竟是知识体系驱动还是项目驱动比较好呢?知识体系驱动即一条道走到头的学习(逮住某个专题深入研究,直到整个过一遍)项目驱动即以完成项目

2017-06-18 21:39:39 25228 13

原创 Android 框架学习2:源码分析 EventBus 3.0 如何实现事件总线

Go beyond yourself rather than beyond others.上篇文章 深入理解 EventBus 3.0 之使用篇 我们了解了 EventBus 的特性以及如何使用,这篇文章我们来揭开它神秘的面纱,看看在繁华的背后究竟是怎样的沧桑。读完本文你将了解:注解修饰订阅方法编译时处理注解生成索引创建 EventBus最关键的两个属性SubscriberMethod

2017-06-14 00:17:27 4167 4

原创 Android 框架学习1:EventBus 3.0 的特点与如何使用

前面总结了几篇基础,在这过程中看着别人分享自定义 View、架构或者源码分析,看起来比我写的“高大上”多了,内心也有点小波动。但是自己的水平自己清楚,基础不扎实画再多源码流程图也没什么意思,还是老老实实打好基础吧,技术这东西不能心急。在复习了 Android 跨进程、多线程通信的几种方式的基础上,为了调节下心情,我们接下来一起来学以致用,分析分析一些有名的 Android 事件总线框架。首先拿 Ev

2017-06-11 10:28:40 7232 2

原创 Android 进阶16:IntentService 使用及源码解析

It’s time to start living the life you’ve only imagined.读完本文你将了解:IntentService 简介IntentService 源码分析IntentService 的使用创建 IntentService 的子类布局界面调用方代码运行效果总结代码地址Thanks在前面两篇文章 源码解读 Android 消息机制( Me

2017-06-09 22:44:25 3890 1

原创 Android 进阶15:HandlerThread 使用场景及源码解析

眼睛困得要死,但今天的计划不完成又怎么能睡呢?明日复明日,明日何其多啊!读完本文你将了解:HandlerThread 简介HandlerThread 源码HandlerThread 的使用场景举个栗子运行结果总结代码地址为了避免 ANR,我们常常需要在线程中做耗时操作,然后把结果抛到主线程进行处理。Android 提供了多种用于这种场景的组件,其中一种就是本篇文章要介绍的 Handl

2017-06-07 23:55:58 19928 11

原创 Android 进阶14:源码解读 Android 消息机制( Message MessageQueue Handler Looper)

不要心急,一点一点的进步才是最靠谱的。读完本文你将了解:前言Message如何获取一个消息Message.obtain()消息的回收利用MessageQueueMessageQueue 的属性何时初始化消息入队的过程消息出队的过程Looper线程相关 ThreadLocal无限循环调度如何停止HandlerHandler 的属性发送消息...

2017-06-06 23:59:50 8851 15

原创 Android 进阶13:几种进程通信方式的对比总结

不花时间打基础,你将会花更多时间解决那些不必要的问题。读完本文你将了解:RPC 是什么IDL 是什么IPC 是什么Android 几种进程通信方式如何选择这几种通信方式ThanksRPC 是什么RPC 即 Remote Procedure Call (远程过程调用) 是一种计算机通讯协议,它为我们定义了计算机 C 中的程序如何调用另外一台计算机 S 的程序,让程序员不需要操心底层网络协

2017-06-05 01:16:48 29826 9

html5游戏(初学者)

例子很好,代码也很清晰,还有解释,适合初学者观看

2013-06-28

深入探索Android热修复技术原理pdf

阿里 安卓 热修复 pdf

2017-07-03

recyclerview-v7-24.1.0-sources.jar

recyclerView 比较新的jar包,Eclipse 中使用

2016-07-27

全国省份、城市JSON

全国省份、城市的JSON数据

2016-05-04

App研发录:架构设计、Crash分析和竞品技术分析.pdf

这是 包建强 2015.10月出版的《App研发录:架构设计、Crash分析和竞品技术分析》的试读部分, 除了实际开发中常用的Android技术,还有一些通用的竞品分析技术,对于移动开发进阶十分有帮助。

2015-12-27

Android常用的工具类utils可直接导入项目使用

Android常用的工具类utils可直接导入项目使用

2015-12-02

Android更换主题一键换肤源码

Android更换主题一键换肤源码,适合新手,直接使用

2015-08-07

Android实现微信游戏【围住神经猫】模仿版

Android实现微信游戏【围住神经猫】模仿版,apk文件在bin目录下。主要使用SurfaceView,代码注释较全,适合初学者

2015-07-29

基于wheelView的自定义日期选择器

基于wheelView的自定义日期选择器,支持拓展,样式可以多样

2015-06-26

EffectiveJava中文版

《Effective Java中文版(第2版)》主要内容:在Java编程中78条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对Java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮和高效的代码。第2版反映了Java 5中最重要的变化,并删去了过时的内容。 《Effective Java中文版(第2版)》中的每条规则都以简短、独立的小文章形式出现,并通过示例代码加以进一步说明。 《Effective Java中文版(第2版)》的内容包括: 全新的泛型、枚举、注解、自动装箱、for-each循环、可变参数、并发机制,等等。 经典主题的全新技术和最佳实践,包括对象.类、类库、方法和序列化。 如何避免Java编程语言中常被误解的细微之处:陷阱和缺陷。

2015-05-09

Android一键锁屏源码

如题,源码,可直接运行。用于Android开发学习者

2015-04-07

空空如也

空空如也

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

TA关注的人 TA的粉丝

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