自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java多线程回答整理

1.说说volatile关键字答:一个变量被volatile修饰之后,那么就具备了两层语义:1.保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。2.禁止进行指令重排序,一定程度上保证了有序性。实现原理是:《深入理解Java虚拟机》:“观察加入volatile关键字和没有加入volatile关键字时所生成的汇编代码发现,加入volatile关键字时,会多出一个lock前缀指令”。lock前缀指令实际上相当于一个内存屏障(也称内存栅栏),内存屏

2022-02-13 14:37:13 179

原创 应用层之HTTP协议

1.Http头部 HTTP 头部本质上是一个传递额外重要信息的键值对。主要分为:通用头部,请求头部,响应头部和实体头部。通用头:是客户端和服务器都可以使用的头部,可以在客户端、服务器和其他应用程序之间提供一些非常有用的通用功能,如Date头部。请求头:是请求报文特有的,它们为服务器提供了一些额外信息,比如客户端希望接收什么类型的数据,如Accept头部。响应头:便于客户端提供信息,比如,客服端在与哪种类型的服务器进行交互,如Server头部。实体头:指的是用于应对实体主体...

2021-08-22 11:12:22 112

原创 网络协议层次(熟读并背诵全文)

应用数据报→传输层报文段→ip成组→链路层成帧→物理层比特流;

2021-08-22 10:39:32 113

原创 【框架】ButterKnife

一、使用方法一、添加依赖1.项目的build.gradle的buildscript中配置:buildscript { repositories { mavenCentral() google() } dependencies { classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.3' }}2.module的build.gradle中应用:apply plugin: 'com.

2021-07-01 00:29:43 274

原创 【基础】WebView浏览器组件

ad

2021-06-27 18:36:30 5346

原创 【框架】极光推送。

一、背景介绍1、什么是推送使应用程序,即时接收到由服务器端发起的通知或者消息的一种技术。2、推送有什么用如App在通知栏弹出新闻消息等。3、实现推送的方式客户端定时轮询。客户端需要一直存货,定时向服务器请求数据。 客户端与服务器建立长连接。4、短连接与长连接短连接:数据交互时,建立连接,数据交互完成后,连接关闭。如HTTP请求。 长连接:客户端与服务器之间始终保持着一个通信连接。如消息推送等。5、推送实现原理...

2021-06-27 17:18:23 217

原创 【框架】GreenDao数据库框架

一、背景 Android数据库SQLite原生API SqliteOpenHelper不友好,所以出现了许多ORM框架来帮助我们处理数据库操作。所谓ORM框架,即Object-Relational Mapping,它的作用是在关系型数据库和对象之间做一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了。而GreenDao是基于Android的ORM框架中的佼佼者,优点如下:性能(可能是Android上最快的ORM) 易用性(..

2021-06-21 23:01:41 1035

原创 【框架】Glide图片加载框架

一、基础知识介绍 Android软件种图片的种类分为3种:资源文件中的图片 手机zhong

2021-06-14 23:05:59 484 2

原创 【基础】RecyclerView

一、用法介绍1、布局管理器包含三种布局管理器

2021-06-14 21:41:56 175

原创 【框架】EventBus事件总线

一、背景 常用的实现组件间通信的方式有:设置监听器、使用本地广播。设置监听器的弊端在于需要定义业务接口,并且会使监听者与被监听者耦合。使用

2021-06-14 12:08:41 224 2

原创 【框架】OkHttp网络操作框架

1、历史java最早封装了用于IO的包java.io,后来到java.nio,后来就有okio

2021-06-13 16:14:30 241 3

原创 UML类图

UML类图https://www.jianshu.com/p/57620b762160https://www.cnblogs.com/olvo/archive/2012/05/03/2481014.html

2020-08-26 13:55:12 121

原创 Dialog总结

1、AlertDialog使用流程:setTitle(), setMessage(), create(), show()。

2020-07-19 12:22:34 109

原创 Menu总结

三种Menu:选项菜单(OptionMenu)、上下文菜单(ContextMenu)、弹出菜单(PopupMenu)。optionMenu的所有者是Activity,显示在标题栏,ContextMenu的所有者是View,长按某个View后弹出,PopupMenu的所有者是View,点击某个View后弹出。OptionMenu使用:重写:onCreateOptionsMenu(), onOptionsItemSelected()ContextMenu使用:重写:onCreateContextMe

2020-07-19 11:05:52 125

原创 Android WebSocket

https://blog.csdn.net/fomin_zhu/article/details/85990363 OkHttp+WebSocket使用https://blog.csdn.net/u014005316/article/details/77743369?utm_medium=distribute.pc_relevant_right.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase&depth_1-utm_sou...

2020-06-14 21:06:48 106

原创 Android常用框架汇总!!!(重要)

https://www.jianshu.com/p/d285ff72f398 Android开发常用框架汇总

2020-04-09 19:08:54 696

原创 ViewGroup的draw和onDraw的调用时机

https://blog.csdn.net/weixin_34168700/article/details/88002501

2020-02-26 11:26:40 237

原创 Android事件分发机制

https://www.cnblogs.com/chengxuyinli/p/9979826.html 详细概括

2020-02-19 17:05:46 70

原创 Kotlin little tips

实际上经过const修饰的的才是Java中理解的常量Kotlin的空安全设计对于声明可为空的参数,在使用时要进行空判断处理,有两种处理方式,字段后加!!像Java一样抛出空异常,另一种字段后加?可不做处理返回值为 null或配合?:做空判断处理在 Kotlin 中,三个等号 === 表示比较对象地址,两个 == 表示比较两个值大小。...

2019-12-17 20:51:53 434

原创 JAVA NIO缓冲区(Buffer)

https://blog.csdn.net/xialong_927/article/details/81044759 JAVA NIO缓冲区(Buffer)

2019-12-11 16:01:32 79

原创 播放器开发

https://blog.csdn.net/wurui8/article/details/49159851 Android 视频缩略图的缓存机制和异步加载https://blog.csdn.net/love_techlive/article/details/45559077 MediaSrore媒体库刷新...

2019-11-09 15:20:32 103

原创 动态权限申请

https://blog.csdn.net/qq_34330286/article/details/79660059 Android 6.0以上动态权限申请对于需要动态申请的权限,任然需要在Manifest文件当中再做声明!!!Android 这边在 target 23 以上时会启用权限检查,默认不给敏感权限,比如存储、语音等,需要 app 自...

2019-11-07 09:58:11 121

原创 Android数据库操作

https://blog.csdn.net/hou09tian/article/details/80525912 Android Studio中通过SQLiteDatabase类操作数据库https://blog.csdn.net/hou09tian/article/details/82991507 Android Studio中通过SQ...

2019-11-06 11:48:02 74

原创 Android网络编程

https://www.jianshu.com/p/6676ddf97eb8 Android网络编程总结

2019-11-01 09:49:30 72

原创 Android系统服务——WMS与AMS

https://www.jianshu.com/p/47eca41428d6 Android系统服务——WMS与AMS所以本质上来讲,Activity与Service是平级的关系,这也就解释了为什么Manifest文件中声明Activity与声明Service是相同缩进(层级)的。...

2019-10-31 19:09:24 170

原创 Android图形库

https://blog.csdn.net/yili_xie/article/details/4803565 skia图形库概述重点!!!

2019-10-30 11:49:06 233

原创 Path类

https://www.jianshu.com/p/2c19abde958c Path类详解(重点!!!经常看,很多函数的用法需要记住)https://blog.csdn.net/xiaohai695943820/article/details/79577576 Path类常用函数总结...

2019-10-24 10:30:22 70

原创 Java传递参数的两种方式

值传递:8中基本数据类型和String引用传递(地址传递):除String以外的所有复合数据类型,包括数组、类和接口

2019-10-23 13:57:08 613

原创 编译Bug记录

导入依赖出现Failed to resolve的解决办法 https://blog.csdn.net/qq_32204197/article/details/84068064

2019-10-22 19:58:17 88

原创 Java内部类

内部类可以分为:成员内部类、局部内部类、匿名类。内部类对象依赖于外部类对象,除非已经存在一个外部类对象,否则不会出现内部类对象。在实例化内部类对象时,必须在new操作符之前提供一个外部类对象的引用。public static void main(String args[]){ OuterClass out = new OuterClass(); OuterClass....

2019-10-11 16:38:06 56

原创 RecyclerView

https://blog.csdn.net/weixin_43468667/article/details/89435098 Android学习之RecyclerView的使用https://www.jianshu.com/p/4f9591291365 超详细RecyclerView详解...

2019-10-11 15:58:15 71

原创 各种设计模式

https://www.runoob.com/design-pattern/singleton-pattern.html 每种设计模式详解(菜鸟教程)

2019-10-10 20:36:07 75 1

原创 学习方向

2019-10-08 20:41:55 95

原创 Java泛型

https://www.jianshu.com/p/31b44188b973 Java泛型详解 https://www.cnblogs.com/coprince/p/8603492.html Java泛型详解

2019-10-08 20:41:46 54

原创 Tips of android

Android自定义回调监听的实现。。。(形式固定,需要记住)https://www.jb51.net/article/133137.htm注意在调用函数的地方对监听器判空!!!接口不能new,但是可以new接口的实现类,如监听器中的匿名内部类【重点】https://blog.csdn.net/fitaotao/article/details/82491789...

2019-10-08 20:41:38 114

原创 视频中抽取关键帧

https://www.jianshu.com/p/0f6578362e58 方法一:exoPlayer2相关方法;方法二:使用MediaExtrator、MediaCodec对原始数据进行读取和解码,从而解析出每帧图片。使用MediaMetadataRetriever类【重点】https://blog.csdn.net/u011506...

2019-10-08 20:41:15 910

原创 【MediaPlayer】seekTo()方法跳转播放位置不准

seekTo()方法跳转播放位置不准https://blog.csdn.net/u012510322/article/details/79803433 “退出后记录播放位置,下次继续播放,可能出现播放位置不准,原因是播放了上次记录位置附...

2019-10-08 20:40:53 275

原创 【基础】View点击事件监听的四种方式

View点击事件监听的四种方式

2019-10-08 20:40:43 414

原创 OpenMAX总结

https://blog.csdn.net/hejjunlin/article/details/52629598 OpenMAXhttps://blog.csdn.net/a910626/article/details/81455959 MediaCodec基本原理及使用https://blog.csdn.net/u01390422...

2019-10-08 20:40:04 137

原创 OOM

https://www.cnblogs.com/ThinkVenus/p/6805495.html

2019-10-08 20:39:44 68

空空如也

空空如也

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

TA关注的人

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