知识要点
文章平均质量分 86
shenshizhong
喜欢接受新鲜事物,乐于分享。
展开
-
synchronized 怎么使用
synchronized 的使用原创 2023-01-01 23:06:27 · 1246 阅读 · 0 评论 -
synchronized 的原理
synchronized 的原理分析原创 2022-12-31 18:29:30 · 385 阅读 · 0 评论 -
volatile 的理解
volatile的理解原创 2022-12-29 18:11:35 · 379 阅读 · 0 评论 -
kotlin 与 java 区别
kotlin 与 java 的区别原创 2022-12-27 23:26:00 · 860 阅读 · 3 评论 -
关于动画的一些见解
Animator 关系Animator 抽象类 1、AnimatorSet 子类 2、ValueAnimator 子类 1、ObjectAnimator 子类 2、TimeAnimator 子类介绍几个开源动画库1、2017年酷炫的动画库 https://blog.csdn.net/lixuce1234/article/detai...原创 2018-08-11 18:54:49 · 287 阅读 · 0 评论 -
RxJava2 源码分析一
文章目录前言RxJava2 介绍RxJava2 使用带问题看源码总结前言在OkHttp3+Retrofit2+RxJava2 它是怎么在起作用的,为什么它会受到如此的欢迎,先通过分析如何发送数据,还有接收数据这块内容。本文是居于此版本分析的 implementation "io.reactivex.rxjava2:rxjava:2.2.8" implement...原创 2019-05-03 11:53:31 · 243 阅读 · 0 评论 -
ViewPager2的使用
文章目录前言ViewPager2 介绍ViewPager2使用集成遇到的问题前言官网上显示 April 3rd, 2019 androidx.viewpager2:viewpager2:1.0.0-alpha03 is released. 也就是测试版已经第三版了,一直有关注着,今天想想就拿出来练手了,后面的优化更多的应该是bug的修复,或者增加新API,基本的使用应该是不会太大变...原创 2019-04-29 01:43:08 · 2796 阅读 · 0 评论 -
RxJava2 源码分析二
文章目录前言RxJava2 线程调度RxJava2 怎么进行线程调度总结前言经过RxJava2源码分析一,我们了解了RxJava2是怎么进行数据的发送和接收。那么这次我们主要是来分析,RxJava2是如何进行线程调度的。RxJava2 线程调度我们知道线程的调度还是很关键的,因为如果正常情况下,android给我们提供的方式是通过Hadler机制来进行线程间通信的,当了解了Rx...原创 2019-05-05 02:10:16 · 448 阅读 · 0 评论 -
Glide 怎么绑定页面的生命周期的?
文章目录前言简要说明过程怎么完成绑定核心类的作用总结前言Glide 是非常强大的图片加载框架,基本在所有的面试中都会被问到,而问得最多的可能就是如何与页面生命周期的绑定,针对这点,我做了一下整理,我自己也开了一个项目,关于Android的面试题,有需要的可以进来看看https://github.com/shenshizhong/AndroidIQ简单说明过程对整个过程有个大体...原创 2019-09-22 15:18:16 · 1065 阅读 · 0 评论 -
事件分发
文章目录 ● 前言 ● 三个主要的方法 ● 如何传递 ● 总结前言事件分发机制是很重要的一部分,在写自定义 view 的时候,如果碰到滑动冲突,那么对于这块地了解就相当重要了。因为只有你知道事件是如何进行分发的,才知道怎么处理滑动冲突。不仅在做项目,在面试中,这块也是必考的知识点。所以有必要对这块进行深入的了解。三个主要的方法dispatchTouchEvent 主要就是进行事件的分发,原创 2017-10-03 21:51:13 · 567 阅读 · 0 评论 -
寄存器为什么比内存快
背景:计算机的存储层次(memory hierarchy)之中,寄存器(register)最快,内存其次,最慢的是硬盘。快的原因:1、距离不同。(寄存器距离CPU比内存近)2、硬件设计不同。(高性能、高成本、高耗电的设计可以用在寄存器上,而不能用在内存上)3、工作方式不同。寄存器工作方式:(1)找到相关的位(2)读取这些的位内存的工作方式:...原创 2017-06-26 20:33:20 · 536 阅读 · 0 评论 -
volatile的作用
Volatile的介绍:使用volatile的原因:用在多线程,目的同步变量Volatile变量相对于锁更简单,另外volatile变量同步机制的性能优于锁注意事项:volatile 的限制,只有在状态真正独立于程序内其他内容时才能使用 volatile。这条规则能够避免将这些模式扩展到不安全的用例Volatile只有操作原子级别的,才有效果。不是原子级别(n=...原创 2017-06-26 20:26:19 · 414 阅读 · 0 评论 -
构造方法与析构方法区别
Java构造方法类有一个特殊的成员方法叫作构造方法,它的作用是创建对象并初始化成员变量。在创建对象时,会自动调用类的构造方法。构造方法定义规则:Java 中的构造方法必须与该类具有相同的名字,并且没有方法的返回类型(包括没有void)。另外,构造方法一般都应用 public 类型来说明,这样才能在程序任意的位置创建类的实例也就是对象。示例:下面是一个 Rectangle 类的构造方法,原创 2016-08-19 14:54:45 · 4819 阅读 · 0 评论 -
成员变量与局部变量区别
成员变量:作为类的成员而存在,直接存在于类中。所有类的成员变量可以通过this来引用。class A { int a;//成员变量 public static void main(String[] args) { this.a=3;} }局部变量:作为方法或语句块的成员而存在,存在于方法的参数列表和方法定义中。 public void change1(int i){原创 2016-08-19 19:08:24 · 1425 阅读 · 0 评论 -
weak reference的介绍
对象回收条件:在Java里, 当一个对象o被创建时, 它被放在堆里. 当GC运行的时候, 如果发现没有任何引用指向o, o就会被回收. 也可以这么理解, 一个对象被回收, 必须满足两个条件: 1)没有任何引用指向它 2)GC被运行.置空处理:在现实情况写代码的时候, 我们往往通过把所有指向某个对象的引用置空来保证这个对象在下次GC运行的时候被回收例如:Object c = ne原创 2016-08-21 19:13:48 · 1298 阅读 · 0 评论 -
HttpURLConnection和HttpClient的区别
安卓中访问网络方式:Android应用程序都会使用HTTP协议来发送和接收网络数据,而Android中主要提供了两种方式来进行HTTP操作,HttpURLConnection和HttpClient。这两种方式都支持HTTPS协议、以流的形式进行上传和下载、配置超时时间、IPv6、以及连接池等功能。1、HttpClient:优点:DefaultHttpClient和AndroidHttp原创 2016-08-31 18:23:18 · 3610 阅读 · 0 评论 -
抽象类和接口理解
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。抽象类:所有的对象都是通过类来描绘的,但是反过来却不是这样。并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类是是用来捕捉子类的通用特性的,是一种模板,它不能被实例化原创 2016-09-19 11:56:38 · 512 阅读 · 2 评论 -
使用eclipse,高德地图key的创建
一、发布版安全码SHA1的生成1、将keystore(签名)放到jdk的安装文件夹的bin目录下面2、到jdk的安装文件夹的bin目录下面打开cmd比如我的目录文件路径是:D:\Program Files\Java\jdk1.8.0_112\bin,win7的用户可以:shift +右击,选择:在此处打开命令窗口,简单快捷3、发布版本使用 apk对应的 keystore原创 2016-11-07 18:17:23 · 1196 阅读 · 0 评论 -
自定义注解的使用
自定义注解的使用一、注解是什么Annotion(注解)是一个接口,程序可以通过反射来获取指定程序元素的Annotion对象,然后通过Annotion对象来获取注解里面的元数据。二、注解的作用注解可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。从某些方面看,annotation就像修饰符一样被使用,并应用于包、类 型、构造方法、方法、成员变量、参数、本地变量的声明...原创 2017-06-29 20:07:06 · 649 阅读 · 0 评论 -
Android 中的postDelayed的用法
Android 中的postDelayed的用法 首先对postDelayed的介绍:传参:postDelayed中需要传两个参数,一个是Runnable对象,一个是以毫秒为单位的时间作用:postDelayed经常被用于延时任务,或者定时器。 接下来讲下postDelayed的用法:1、创建一个Handler对象2、创建一个Runnable对象3、mHandl原创 2017-06-20 20:12:56 · 13960 阅读 · 0 评论 -
通过bitmap改变图片的大小
有时候需要在项目中改变图片的大小,那么在代码中我们怎么改变图片的大小呢?下面就讲下实现过程一、通过BitmapFactory获取原始图片二、获取图片的宽、高三、设置想要的宽、高大小四、计算压缩的比率五、获得缩放的matrix六、获取新的bitmap其实很简单,主要就是api的使用。下面就贴出代码private Bitmap changeBitmapS...原创 2017-06-30 18:45:57 · 24979 阅读 · 0 评论 -
String、StringBuilder、StringBuffer和CharSequence的区别
String、StringBuilder、StringBuffer和CharSequence的区别String简介:String 是java中的字符串,它继承于CharSequence。CharSequence简介:CharSequence是一个接口,它只包括length(),charAt(int index), subSequence(int start, int end)这几个原创 2016-08-18 19:05:24 · 469 阅读 · 0 评论