自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

笨鸟的专栏

不怕不够聪明,只怕不够聪明还不够努力!

原创 Android NIO整理

1、ByteBuffer.allocate(capability):JVM堆内存,属于GC管辖范围,需要拷贝(内核空间—用户空间)速度相对较慢。2、ByteBuffer.allocteDirect(capability):直接内存(OS本地内存),不属于GC管辖范围,不需要内存拷贝,速度较快3、直接内存的释放:申请直接内存时,会创建 DirectByteBuffer 对象(直接内存包装类...

2019-11-26 18:52:33 48

原创 Android 线程、线程池全集

2019-11-26 12:10:25 51

原创 Android 并发全集

2019-11-22 19:45:20 48

原创 Android 数据结构与集合

一、数据结构数组、栈、队列、链表、哈希表、二叉树、堆、图二、集合

2019-11-20 20:10:57 37

转载 Android基础知识-图片占用多少内存

https://mp.weixin.qq.com/s/ufOjtKURP8QERWw1pn_m1QQ1:一张 png 格式的图片,分辨率是 1080*452,图片文件大小为 55.8KB,那么它加载进内存时所占的大小是多少?1)电脑上看到的 png/jpg 格式的图片,只是图片的容器, 它们是经过相对应压缩算法将原图每个像素点信息转换成另一种格式表示,达到压缩的目的,减少图片文件大小。...

2019-10-29 17:54:55 56

原创 Android基础知识-设备密度和dp计算

1.设备密度的计算设备英寸是指,设备屏幕对角线英寸数。设备密度 = 设备长(宽)分辨率 / 设备长(宽)英寸 = 每英寸的像素数根据设备分辨率,可以计算出设备【宽高比】,然后根据 设备英寸,算出设备【宽度英寸】数。然后设备 【宽度分辨率 / 设备宽度英寸 = 每英寸像素数】 也就是设备密度。2.res目录的密度 (固定值)默认drawable(文件夹名后不跟分辨率)-----...

2019-10-29 16:52:57 162

原创 Android基础知识 View绘制相关

一、DecorView、Window、ViewRootImpl 等概念View的三大流程:measure、layout、draw1、 ViewRootImpl 它是连接 WindowManager 和 DecorView 的纽带。 View的三大流程都是通过ViewRoot 来完成的。 在ActivityThread 中,当 Activity 对象倍创建完毕后,会将DecorView...

2019-10-25 20:35:40 75

原创 Android基础知识 IPC相关

一、在Android中什么样的情况下会使用多进程模式,如何开启多进程1、什么情况下使用多进程模式 分担主进程的内存压力 2、如何开启多进程 四大组件,在Manifest中 指定 android:process 属性。二、Android为什么采用Binder做为IPC机制1、 Binder Binder是Android中一种跨进程方式。2、Android 要采用 Binder ...

2019-10-25 20:33:20 79

转载 Android基础知识-Fragment相关

https://www.jianshu.com/p/d9143a92ad94https://www.jianshu.com/p/fd71d65f0ec6一、Fragment生命周期 https://www.jianshu.com/p/927ca066120b1、定义Fragment 表示 FragmentActivity 中的行为或界面的一部分。2、Fragment优点:与Activi...

2019-10-25 20:30:40 93

原创 零碎知识点笔记

1、关于MediaTypeMediaType:指的是要传递的数据的MIME类型(描述消息内容类型的因特网标准)MediaType对象包含了三种信息:type 、subtype以及charset,一般将这些信息传入parse()方法中,这样就可以解析出MediaType对象,比如 “text/x-markdown; charset=utf-8” ,type值是text,表示是文本这一大类...

2019-09-18 14:26:58 44

原创 Git基本命令

服务器创建Git仓库在服务器创建新的 git库git init --bare frameworkbase.git授权,使 gitlan 用户有权限操作该git仓库sudo chown gitlan:gitlan -R frameworkbase.git客户端关联并提交代码到Git如果原先存在 .git 目录,最好先删除该目录,再初始化git initgit add .git commit -m "第一次提交"git remote add origin ssh://gitlan@192.

2020-05-26 09:32:35 72

原创 Android 源码编译笔记

一、下载源码 https://source.android.com/setup/downloading1、安装Repo 确保主目录下有一个 bin/ 目录,并且该目录包含在路径中: mkdir ~/bin PATH=~/bin:$PATH 下载安装curl: https://blog.csdn.net/qq_31458537/article/details/87914443 下载 Repo 工具,并确保它可执行: curl https://storage.googleapis

2020-05-14 18:19:31 126

转载 jvm、dalvik、art区别

JVM 与 dalvik 区别JVMdalvik基于栈,必须使用指令来载入和操作栈上数据基于寄存器,指令更紧凑和简洁运行的是java字节码运行的是自己专属的.dex字节码格式java类被编译成.class文件后,会通过一个dx工具将所有的.class文件转换成一个.dex文件,然后dalvik虚拟机会从其中读取指令和数据-一个应用对应一个Diavik虚拟机实...

2019-12-16 19:34:27 53

转载 Android 基础知识-动画相关

常用动画View动画(补间动画)、属性动画与帧动画View 动画通过对View 不断做【图像变换】(平移、缩放、旋转、透明度)产生动画效果。可以通过 xml/java代码来创建1、支持4中动画效果TranslateAnimation 平移动画 <translate>ScaleAnimation 缩放动画 <scale>RotateAnimation 旋转动画...

2019-12-11 14:46:04 47

转载 Android 字符编码笔记

转载本文用于归纳总结,方便复习,感谢作者分享。字符编码笔记:ASCII,Unicode和UTF-81、ASCII码在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出 256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从...

2019-11-18 18:55:59 49

转载 Android 设计模式知识点

转载https://www.runoob.com/design-pattern/memento-pattern.html转载用于归纳整理知识体系,方便复习用,感谢作者的分享1、Android 单例模式私有构造方法使用 synchronized 对创建对象代码块进行保护 // DLC public class SingletionDLC { private volat...

2019-11-18 18:01:51 26

转载 Android算法知识-常用加密算法

https://blog.csdn.net/u013718120/article/details/56486408https://github.com/songxiaoliang/EncryptionLib一、对称加密算法对称密码算法的加密密钥和解密密钥相同,对于大多数对称密码算法,加解密过程互逆AES对DES提高了安全性1.DES,3DESDES使用【56位密钥】以及附加的【8位...

2019-11-18 12:33:58 70

转载 Android 算法知识点-二叉树相关

《Java 数据结构和算法 第二版》原文本文用于方便整理和复习,感谢作者分享一、二叉树相关算法 前序、中序、后序遍历(递归,迭代)概念1)前序遍历:先遍历根节点,然后遍历左子节点,最后遍历右子节点,简记为“根-左-右”;2)中序遍历:先遍历左子节点,然后遍历根节点,最后遍历右子节点,简记为“左-根-右”;3)后序遍历:先遍历左子节点,然后遍历右子节点,最后遍历根节点,简记为“左-...

2019-11-15 21:20:20 77

转载 Android 算法知识点-链表相关算法

《Java 数据结构和算法 第二版》一、链表相关算法,链表翻转,链表合并等Node 定义public static class Node { private int data; private Node next; public Node(int data, Node next) { this.data = data; this.next = next; } p...

2019-11-15 19:09:22 78

转载 Android算法知识点-常用排序算法

《Java 数据结构和算法 第二版》一、概述1、数据结构概述数据结构优点缺点数组插入快,如果知道下标,可以快速存取查找慢,删除慢,大小固定有序数组比无序的数组查找快删除和插入慢,大小固定栈提供后进先出方式的存取存取其他项很慢队列提供先进先出方式的存取存取其他项很慢链表插入快,删除快查找慢二叉树查找、插入、删除都快(如果...

2019-11-15 16:06:04 56

转载 Android 算法知识-时间复杂度

原文本文用作整理与复习,感谢原文作者的分享一、时间复杂度的计算1、定义时间复杂度一般采用大 OOO 标记法, 即 T(n)=O(f(n))T(n)=O(f(n))T(n)=O(f(n)),其中T(n)T(n)T(n)表示代码运行时间;n表示数据规模大小;f(n)f(n)f(n)表示每行代码执行次数总和,OOO 表示T(n)T(n)T(n)与f(n)f(n)f(n)的正比关系。大 OO...

2019-11-14 15:31:15 53

转载 Android 数字证书、公钥私钥、摘要

一、签名证书签名文件和证书是成对出现的,二者不可分离。这两个文件名字是一样的,只是后缀名不一样。1、数字签名是对 非对称加密技术 和 数字摘要技术 的具体应用。1)消息的发送者,先要【生成一对公私钥对,将公钥给消息的接收者】。2)消息的发送者给消息接收者发消息,在发送的信息中, 除了要包含原始的消息外,还要加上另外一段消息。 这段消息通过如下两步生成: i.对要...

2019-11-13 20:59:20 51

转载 Android Http_Https相关知识

万维网 WWW(World Wide Web) 简称Web万维网用链接的方法,从因特网上的一个站点访问另一个站点,从而主动按需获取信息。万维网以 客户-服务器 方式工作。1、URL格式<协议>://<主机>:<端口>/<路径>一、Http(HyberText Transfer Protocol超文本传输协议)基本概念及报文结构1、基本...

2019-11-13 20:32:05 86

原创 Android网络基础-域名系统DNS

本文摘抄自《计算机网络第七版 谢希仁》 第六章 应用层一、域名系统DNS(Domain Name System)用于把便于人们使用的域名转换为IP地址。DNS,大多数名字都在本地解析,仅少量解析需要在因特网上通信,因此效率高。DNS,是分布式系统,即使单个服务器主机出现故障,也不好妨碍整个DNS系统的正常运行。1、域名解析过程应用进程调用【解析程序】,并称为DNS的一个客户端,把待...

2019-11-13 11:20:07 48

原创 Android 网络体系、TCP/IP

本文摘抄自:《计算机网络-第七版》一、计算机网络三种体系架构,OSI体系架构(7层)、TCP/IP体系架构(4层),五层体系架构OSI、TCP/IP、五层体系架构OSI 协议7层体系结构 | TCP/IP 协议4层体系结构 | 五层协议体系结构--------------------|-----------------------------|--------------------...

2019-11-12 22:08:39 79

转载 Android不同版本特性知识点

一、Android不同版本下的特性1、6.0 动态权限2、7.01)[应用间共享文件](https://blog.csdn.net/lmj623565791/article/details/72859156)2)[Apk signature scheme v2 ](https://developer.android.google.cn/about/versions/nougat/an...

2019-11-11 15:08:59 200

转载 Android-架构知识点

转载感谢原作者分享。一、MVC架构设计模式面试问题讲解Model(模型) 指模型层(网络IO、文件IO等操作) 代表内容的数据访问层(以数据为中心)。 View(视图)(对应Android中的Layout和Activity/Fragment) 用户在屏幕上看到的结构、布局和外观(UI)。Controller(控制层)(对应Android中的Activity/Fragmen...

2019-11-11 10:16:35 22

转载 Android 签名过程的理解

转载感谢原作者的分享一、准备知识1、数据摘要(数据指纹)对一个数据源进行一个算法之后得到一个摘要,也叫作数据指纹,不同的数据源,数据指纹肯定不一样。消息摘要算法(Message Digest Algorithm)是一种能产生特殊输出格式的算法,其原理是根据一定的运算规则对原始数据进行某种形式的信息提取,被提取出的信息就被称作原始数据的消息摘要。著名的摘要算法:MD5算法、SHA...

2019-11-08 20:44:59 134

转载 Android 屏幕适配知识点

一、今日头条适配方式1、问题android中的dp在渲染前会将dp转为px,[计算公式](https://blog.csdn.net/u010577768/article/details/102802750): px = density * dp; density = dpi / 160; px = dp * (dpi / 160);dpi 是物理屏幕每英寸的像素数。不同设备可能...

2019-11-08 17:41:49 36

原创 Android基础-性能优化

本文转载自:《Android开发艺术探索》第十五章 Android性能优化感谢作者分享一、性能优化:布局优化、绘制优化、线程优化等1、布局优化尽量减少布局文件的层级。布局层级少了,Android绘制工作量也少了。1)删除无用控件和层级2)有选择的使用ViewGroup RelativeLayout 功能比较复杂,它的布局过程需要花费更多的CPU时间。 LinearLayou...

2019-11-08 11:53:24 35

转载 Android框架-EventBus

转载本文用于整理和复习,非商业用途,感谢原作者的分享。核心架构基于 观察者模式 的事件发布/订阅框架。public class EventBus { /* key为事件类型,value为订阅者的回调方法 * EventBus在收到一个事件时,就可以根据这个事件的类型, * 在 subscriptionsByEventType 中找到所有监听了该事件的订阅者及处理事件的回调方法。...

2019-11-07 18:21:39 49

转载 Android框架-ButterKnife

转载感谢原作者分享,本文用于整理笔记,方便复习,非商业用途一、简单使用dependencies { ...... //ButterKnife 相关代码 implementation 'com.jakewharton:butterknife:8.8.1' //注解处理器库,用于处理 ButterKnife 的注解,生成新的源码 //annotationProcessor 是 ap...

2019-11-06 21:15:10 37

转载 Android基础知识-注解工具APT

转载本文用作学习笔记,方便整理复习。建议看上面原创。1、APT技术功能APT(Annotation Processing Tool)是javac中提供的一种编译时扫描和处理注解的工具,它会对源代码文件进行检查,并找出其中的注解,然后根据用户自定义的注解处理方法进行额外的处理。APT工具能解析注解,根据注解生成其他的源文件,将生成的新的源文件与原来的源文件【共同编译】(注意:APT并不...

2019-11-06 19:52:30 30

转载 Android基础知识-注解Annotation

转载:https://www.jianshu.com/p/65c4af2ce8f0一、Java注解相关Annotation 转载注解也会被编译成class文件。1、注解的声明@Documented@Retention(RetentionPolicy.RUNTIME)@Target(value = {TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR...

2019-11-06 19:50:41 59

转载 Android框架-Glide 4.6

本文用于方便本人总结和复习,非商业用途,感谢许多作者的分享。建议搜到本文的同学看原创,感谢原作者的分享转载自:Android图片加载框架最全解析(一),Glide的基本用法 https://blog.csdn.net/guolin_blog/article/details/53759439Android图片加载框架最全解析(二),从源码的角度理解Glide的执行流程 https://b...

2019-11-05 20:36:11 178

转载 Android框架-RxJava

转载 https://www.jianshu.com/p/a406b94f3188感谢作者分享,本文做笔记用,方便整理和复习。一、原理1、定义RxJava 是一个 基于事件流、实现异步操作的库2、优点逻辑简洁、实现优雅、使用简单随着程序逻辑的复杂性提高,它依然能够保持简洁 & 优雅3、原理1)RxJava 原理 基于一种扩展的观察者模式。 4个角色,相互关系 ...

2019-11-04 20:49:32 130

转载 Android框架-Retrofit

转载:https://blog.piasy.com/2016/06/25/Understand-Retrofit/index.htmlhttps://www.jianshu.com/p/45cb536be2f4本文转载,纯粹为了方便整理和复习用,感谢作者分享。一、使用1、创建 Retrofit 对象 Retrofit retrofit = new Retrofit.Builder() ...

2019-11-01 20:04:02 56

转载 Anroid框架-Okhttp

转载:https://blog.piasy.com/2016/07/11/Understand-OkHttp/index.html转载用作笔记,方便本人整理复习,感谢作者的无私分享。一、OkHttp的优点1、拦截器,责任链模式,简化逻辑。每层只需要关注自己的责任,各层之间通过约定的接口/协议进行合作2、默认缓存拦截器会获取 requestHeader 中 Cache-control 配置、...

2019-11-01 14:56:32 80

转载 Android框架-数据库GreenDao

转载:https://www.jianshu.com/p/53083f782ea2本文用作学习笔记,非商业用途,感谢原作者分享。1、概念GreenDAO是一个开源的Android ORM(“对象/关系映射”),通过ORM(称为“对象/关系映射”)通过GreenDao,我们可以更快速的操作数据库,我们可以使用简单的面相对象的API来存储,更新,删除和查询Java对象。2、GreenDao的...

2019-10-31 19:12:31 66

原创 Android基础知识-内部拦截法解决滑动冲突

代码源自《Android开发艺术探索》第三章 View的事件体系 3.5节 View的滑动冲突感谢作者package com.silvrr.b2b.common.test;import android.content.Context;import android.view.MotionEvent;import android.widget.ListView;/** * 内部拦截法...

2019-10-31 12:00:46 143

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