自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

有图有真相

一言不合就上源码

原创 java多线程相关问题汇总

1、线程和进程的关系 根本区别:进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位。 资源开销:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC...

2020-06-20 11:03:22 2406 0

原创 Android卡顿检测及优化
原力计划

前言 之前在项目中做过一些Android卡顿以及性能优化的工作,但是一直没时间总结,趁着这段时间把这部分总结一下。 卡顿 在应用开发中如果留意到log的话有时候可能会发下下面的log信息: I/Choreographer(1200): Skipped 60 frames! The applica...

2020-06-19 15:47:44 1248 0

原创 tinker热更新原理

什么是 Tinker? Tinker 是一个开源项目(Github链接),它是微信官方的 Android 热补丁解决方案,它支持动态下发代码、So 库以及资源,让应用能够在不需要重新安装的情况下实现更新。 热更新方案比较 当前市面的热补丁方案有很多,其中比较出名的有阿里的 AndFix、美团的 R...

2020-06-04 16:57:24 352 0

原创 三幅图弄懂EventBus核心原理
原力计划

前言 好多分析EventBus的文章,喜欢上来就贴源码,我看了好多次总是迷迷糊糊的,这次花时间彻底整理一下EventBus,发现EventBus核心其实就是三幅图,这三幅图涉及的是三个HashMap表,弄懂这三幅图那么EventBus就懂了。 第一幅图subscriptionsByEventTyp...

2020-04-16 16:34:50 1183 0

原创 图解Android中的Binder机制
原力计划

前言 Binder做为Android中核心机制,对于理解Android系统是必不可少的,关于binder的文章也有很多,但是每次看总感觉看的不是很懂,到底什么才是binder机制?为什么要使用binder机制?binder机制又是怎样运行的呢?这些问题只是了解binder机制是不够的,需要从And...

2020-04-05 23:17:35 467 0

原创 Android中Handler问题汇总
原力计划

前言 handler机制几乎是Android面试时必问的问题,虽然看过很多次handler源码,但是有些面试官问的问题却不一定能够回答出来,趁着机会总结一下面试中所覆盖的handler知识点。 1、讲讲 Handler 的底层实现原理? 要理解handler的实现原理,其实最重要的是理解Loope...

2020-04-04 16:56:20 818 0

原创 Android编译器Dalvik vs ART

Dalvik Dalvik是Just In Time(JIT)编译器,也就是说及时编译器。在Dalvik编译器中,只有当前需要执行的代码才会变编译,剩下的代码在后面要使用的时候才会被编译。Dalvik仅仅只是编译运行时需要的部分代码,不会一次把所有的代码进行编译,所以会使用很少的手机内存空间。 J...

2020-04-03 21:05:43 258 0

原创 减少apk大小

减少资源数目移除无用资源 1、使用lint工具进行检测 res/layout/preferences.xml: Warning: The resource R.layout.preferences appears to be unused [UnusedResources] 注意lint...

2019-12-18 10:17:42 585 0

原创 android高级进阶之12条代码优化以及性能优化

从去年七月份(2018/7/13)入职到现在(2019/8/15)已经一年多了,这一年从一个菜鸟开始慢慢学习到了很多东西,记录一下在开发过程中遇到的代码优化和性能优化经验,方便让其他人少走弯路。 性能优化 1、装箱带来的内存消耗 Boolean isShow =new Boolean(true) ...

2019-08-17 18:23:38 550 2

原创 Android屏幕适配总结

前言 好久之前就想写一篇跟屏幕适配相关的文章一直没有动笔,这次下决心抽周末的时间结合我在实际项目中所遇到的问题写一篇博客。 Android中各种尺寸单位的区别 Android开发中会遇到各种单位: px Pixels - corresponds to actual pixels on the ...

2019-08-12 12:43:10 347 1

原创 Android 高级进阶之overdraw分析及解决

前言 最近在看Android中性能优化的,其中提到了LinearLayout会引起overdraw,但是并没有具体的分析原因,我自己查找了一些资料从LinearLayout的绘制等方面来说明为什么使用LinearLayout会引起overdraw和哪些情况下使用LinearLayout会引起ove...

2019-08-06 21:23:50 864 0

原创 Android松耦合监听前后台切换框架

应用处于后台满足什么条件 要判断当前应用是否处于后台,有个很简单的标准,当应用处于后台的时候,应用中所有的activity肯定都不处于运行中状态,并且应用所有处于运行中的activity在切后台时肯定会执行onPause方法。因此通过判断应用中所有的activity都不处于运行状态就可以知道当前应...

2019-03-15 17:29:01 502 0

原创 高逼格Android转场动画

Android Android Transition Framework can be used for three main things: 1、Animate activity layout content when transitioning from one activity to ano...

2019-03-01 15:24:40 4503 3

原创 WorkManager完全解析

前言 Workmanager

2019-01-20 21:06:09 3199 0

原创 Room Database完全解析

前言 Android数据持久层直接使用SQLite很麻烦,Google官方推出了Room, Google对room的定义: The Room persistence library provides an abstraction layer over SQLite to allow fluent ...

2019-01-18 11:46:52 4581 0

原创 6本通往高级Android开发者必看的英文书籍,附下载地址

前言 看书是每个阶段进步必备的过程,要学习Android知识,成为高级Android程序员,需要非常系统的知识体系结构,看书能够帮我们从大的框架,理解整体结构。找了好长时间找到了非常好的几本外国Android方面的书籍,这些书既系统又生动,内容很好理解,绝对都是干货。我把这些书整理下来放到了Git...

2019-01-09 11:32:54 1652 1

原创 Android自己搭建一个实用的SharedPreferences管理类

前言 在项目中经常会用到SharedPreferences来存储一些配置信息,比如用户的账号信息等。但是当项目大了之后如果还在要使用时再单独创建和使用SharedPreferences就会造成SharedPreferences泛滥,不好管理,代码可维护性差。因此结合实际的项目经验给出一个通用的Sh...

2019-01-06 19:22:37 1260 0

原创 自己动手实现Android中的三级缓存框架

前言 2018年过去了,很久之前就希望自己可以潜心研究源码,研究技术,但是空闲时间不是看电影,就是玩游戏都没有认真看技术方面的东西感觉很内疚,2019年一定要好好的研究端正态度,认真学习技术。 为什么要三级缓存 有时候Android应用中要获取比较大的数据,比如说图片流,短视频流等,如果每次都从网...

2019-01-01 23:20:38 1110 2

原创 Android自定义View之实现简单炫酷的球体进度球

前言 最近一直在研究自定义view,正好项目中有一个根据下载进度来实现球体进度的需求,所以自己写了个进度球,代码非常简单。先看下效果: 效果还是非常不错的。 准备知识 要实现上面的效果我们只要掌握两个知识点就好了,一个是Handler机制,用于发消息刷新我们的进度球,一个是clipDrawabl...

2018-12-26 19:57:39 1271 0

原创 DialogFragment使用到源码完全解析

前言 最近项目中用到了DialogFragment,用起来很方便,但是坑比较多,于是自己研究了下源码,理清楚DialogFragment中Dialog和Fragment的关系,以及DialogFragment的原理。 DialogFragment的使用方法 1、重写onCreateDialo...

2018-12-22 18:21:49 468 0

原创 DialogFragment自定义布局和大小踩坑记

前言 最近需要做一个弹出框,里面包含两个可以左右滑动的fragment的,采用dialogFragment来实现的,在使用dialogFragment的时候遇到了一些坑,所以抽时间好好梳理一些dialogFragment的使用和注意的地方。 效果图 先给出实现的效果图 从效果图中可以看...

2018-12-21 16:47:22 5501 3

转载 史上最全面的Android学习资源汇总

Android应用层View绘制流程与源码分析 还记得前面《Android应用setContentView与LayoutInflater加载解析机制源码分析》这篇文章吗?我们有分析到Activity中...

2018-12-20 10:27:02 472 0

原创 LocalBroadcastManager从使用到源码分析

前言 自从工作后好长时间都没写博客了,一来是实在太忙,二来也沉不下心来看技术文章心态比之前在学校的时候浮躁很多。最近项目里面用到了LocalBroadcastManager虽然用起来很简单但是源码实现起来确实很值得学习的。所以本文先介绍LocalBroadcastManager的使用,然后再进一步...

2018-11-04 18:29:04 483 0

原创 git实用操作以及相关问题汇总

前言 现在大部分公司代码都用git进行进行版本控制,便于团队协作开发。个人写代码的时候也可以放到GitHub上或者gitlab上面进行版本控制便于开发。最近在使用git的时候遇到了一些问题和坑因此记录一下,以方便以后的使用。 git配置 1.下载并安装git工具 git的安装网址g...

2018-08-25 20:39:28 301 0

原创 project生成aar文件并且在另一个project中使用遇到的坑和解决方案

前言 最近公司要一个项目的代码合并到另一个项目中,本来很简单使用import module就可以完成的,但是导入module的时候发现导入不了,原因是另一个项目中还依赖了其他的项目,直接到module肯定是不行了,于是就考虑使用导入aar的方式来解决。 1.生成aar文件 步骤1 打开...

2018-08-18 19:33:40 1906 0

原创 解决Android studio中Plugin with id 'realm-android' not found

问题 Plugin with id ‘realm-android’ not found 解决方案 安装 Realm 作为 Gradle plugin. 第一步: 把 class path dependency 加入到 project 里面的 build.gradle 文件中。 bu...

2018-08-18 18:18:03 2853 1

原创 Android常见内存泄漏及优化总结

前言 最近在整理回顾零碎知识点,今天整理下Android内存优化方案分享给大家。 在Android开发中,一些不好的编程习惯会导致我们的开发的app存在内存泄露的情况。下面简单介绍一些在Android开发中常见的内存泄露场景及优化方案。 1.单例导致内存泄露 单例模式在Android开发中...

2018-08-13 22:21:54 1177 0

转载 实用Android studio调试技巧

今天的文章,我要记录的就是有关调试的技巧,不论你是否已经掌握,都值得一看。对了,文章的截图是我利用下班时间整理的,所以一般会很晚回去,到家都是十点半左右,因为时间还是比较仓促的,有些地方遗漏或者不正确的,欢迎指正!下面进入正题。 1. 调试窗口 先来一张大图,途中详细标注了调试窗口中,各个...

2018-08-10 10:57:46 217 0

原创 python 实现DoS攻击

前言 一 狗店老板欺负我女神,作为一个程序员这如果都能忍那还算男人?得知这个狗店老板买狗网站后果断决定黑了他,看他嚣张不嚣张。我使用的是DOS攻击,没一分钟就把他的网站日瘫了,解气。 DOS DOS拒绝服务攻击(Denial-of-Service Attack)亦称洪水攻击,是一种网络攻...

2018-05-04 17:56:08 10952 11

原创 python爬虫豆瓣推理书籍及链接

前言 因为喜欢的妹子特别喜欢推理书籍,因此就想用python把豆瓣上的推理书籍给爬下来,让她惊喜惊喜,但是好像没达到预期的目的。先上一张爬到的数据图片。 代码 我的代码比较简单只实现基本的功能大家可以自己改 # -*- coding: utf8 -*- from bs4 impor...

2018-05-03 18:44:46 495 0

原创 人脸检测python

效果图 Dlib Python 检测人脸特征点 Face Landmark Detection 首先安装Dlib,Opencv库 安装Dlib 1.到这里去下载你需要的的dlib轮子:Links for dlib 2.cmd进入你刚下好whl文件的位置,然后输入 pip insta...

2018-04-20 11:45:17 1528 0

原创 丰富的人脸相关数据库链接

前言 最近写论文里面有人脸识别相关的部分需要人脸数据,于是在网上找了相关的数据库,下面的连接大都不用翻墙就可以进去下载,十分丰富。 在人脸检测、人脸识别和属性分析等方面,常用的数据库可分为以下五部分。 1、人脸检测数据库: (1999年发布)CMU+MIT:180幅图像,共734个人脸...

2018-04-19 11:06:28 719 0

转载 github博客加访问量标签

普通用户只需两步走:一行脚本+一行标签,搞定一切。追求极致的用户可以进行任意DIY。 一、安装脚本(必选) 要使用不蒜子必须在页面中引入busuanzi.js,目前最新版如下。 <script async src="//dn-lbstatics.qbox.me/b...

2018-04-10 15:17:01 3938 0

原创 Github搭建博客

搭建这个博客走了许多弯路。在这里分享总结之后的思路和简化步骤。 Github Pages Hexo 博客框架 部署 Next 主题 Github Pages Github Pages 其实本身就是 Github 提供的博客服务。 我们在 Github 中创建一个特定格式的 Reposi...

2018-04-08 15:13:53 658 0

原创 obj模型转off模型

前言 最近跑实验代码需要找一些三维模型,但是网上的大部分都是obj格式的模型,off的模型比较少,因此就想把obj格式的模型转换成off格式,这种工作对于程序元来说也不麻烦。而且OpenMesh库里面提供了很好的函数支持。 主要步骤 主要步骤只有三步如下非常简单 一、下载Ope...

2018-04-04 11:17:28 2386 4

原创 好玩的网格三维模型

最近写论文跑代码,跑出了一些特别好玩的三维模型。跟大家分享一下。 1、游戏人物类模型 炫酷机甲 女战士 河神 男战士 2、动物类模型 温柔的小猫 可爱的兔兔 英俊的宝马 恐怖的巨龙 奥特曼里的怪兽? 其他...

2018-04-04 10:43:21 2162 0

翻译 Mesh Processing Library

Mesh Processing Library Overview This package contains a C++ library and several application programs that demonstrate mesh processing technolo...

2018-03-29 11:30:30 948 0

原创 hexo+yilia 博客部分展示效果以及多标签实现

yilia 博客部分展示效果 默认的yilia上面的博客每一篇都显示的很多,这样看起来效果很差,我们通过对要发布博客的.md文件中加一个字段就能自由的选择博客要展示部分的大小。如下: --- title: 经典算法--最大存水量问题 date: 2018-02-01 17:44:18 ...

2018-02-02 19:24:53 5373 3

转载 Android studio下将项目代码上传至github包括更新,同步,创建依赖

一、开篇 本文讲如何使用Android Studio将项目上传到github,虽然讲上传github的文章很多,但是大部分都是使用Git Bash命令行,虽然效率高些,但是有点麻烦,而且AS已经为我们很好的集成了这一功能,干嘛还要去记那么多命令呢? 二、安装git 三、配置Android Stud...

2018-01-31 10:30:35 1064 0

原创 git安装上传本地代码以及遇到的问题

Git Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Windows版本Git下载地址 https://git-scm.com/download/win下载下来后直接点击exe文件完成安装。 上传本地代码到Github上 要上传代码到gith...

2018-01-30 16:38:41 642 0

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