xie_guo_rong
我追求有意义的生活 我知道不进则退
展开
-
Android tcp相关知识点
tcp原创 2023-01-09 09:27:37 · 187 阅读 · 0 评论 -
HTTP2与HTTP1.1的区别
HTTP2与HTTP1.1的区别原创 2023-01-09 08:25:21 · 454 阅读 · 0 评论 -
2021年终总结
2021年年终总结原创 2021-12-31 22:24:57 · 225 阅读 · 0 评论 -
Android 多条if-else条件语句简化之策略模式
Android 多条if-else条件语句简化之策略模式一、遇到的问题在项目实际开发中,有时会遇到根据类型去做不同的处理,这时就会用到if-else条件语句进行判断并进行逻辑处理。从功能的设计上来说,使用if--else进行逻辑判断也没有什么不妥,但是从架构设计来说,这种方式其实是非常不优雅的,因为如果需要添加更多的出行方式,就必须去修改原有的代码,这会直接导致代码块臃肿、扩展性差以及后期维护困难,更违反了设计模式中的”开放-封闭”原则。那么应该如何去改进它呢?答案是:策略模式!二、策略模式简介原创 2021-01-27 09:54:19 · 1366 阅读 · 1 评论 -
Android git --amend、reset、revert、rebase又通通全部学了一遍
Android git --amend、reset、revert、rebase又通通全部学了一遍非常有用,希望自己以后是战无不胜、无敌的状态原创 2021-01-24 22:44:36 · 314 阅读 · 2 评论 -
Android git 修改已经提交的注释
Android git 修改已经提交的注释转载:https://www.cnblogs.com/damoblog/p/13288695.html原创 2021-01-24 21:58:40 · 243 阅读 · 0 评论 -
Android git rebase和git cherry-pick的使用
Android git rebase和git cherry-pick的使用一、git rebase原创 2021-01-21 00:33:51 · 373 阅读 · 1 评论 -
Android面试提纲
Android面试提纲原创 2021-01-14 22:42:00 · 110 阅读 · 0 评论 -
Android EventBus的详解
Android EventBus的详解一、原创 2021-01-04 18:30:51 · 107 阅读 · 0 评论 -
2020年年终总结
今天是2020年的最后一天,按照惯例,来写下自己在2020年的工作和生活上的方方面面的感悟。这里提一下,2019年的年终总结没有写在博客上,是因为那时,元旦节当天,公司还叫我加班,为了项目的进展,当时加班到了很晚,而且当时身心疲惫,太心累了,没有写。2020年,总体上感觉还行,工作生活也还算顺利,不过还是有很多目标没有完成,比较遗憾。自己的进步程度,还是太少。工作这么多年来,自己会经常关注一些志同道合的优秀的人,而Android开发者郭霖就是其中的一位,我会关注他技术动向,关注他对方方面面的看法,我发现原创 2020-12-31 07:39:50 · 131 阅读 · 1 评论 -
Android MQTT的使用
Android MQTT的使用原创 2020-12-30 20:20:32 · 475 阅读 · 0 评论 -
Android tcp和udp的区别
Android tcp和udp的区别UDP协议在数据包中加入端口信息,这就需要新的协议。最简单的实现叫做 UDP 协议,它的格式几乎就是在数据前面,加上端口号。UDP 数据包,也是由"标头"和"数据"两部分组成。"标头"部分主要定义了发出端口和接收端口,"数据"部分就是具体的内容。UDP 数据包非常简单,"标头"部分一共只有8个字节,总长度不超过 65,535 字节,正好放进一个 IP 数据包。TCP协议UDP 协议的优点是比较简单,容易实现,但是缺点是可靠性较差,一旦数据包发出,无法知道对方原创 2020-12-30 20:17:39 · 468 阅读 · 0 评论 -
Android GreenDao的使用
Android GreenDao的原理和使用原创 2020-10-21 21:17:13 · 192 阅读 · 0 评论 -
Android 下载的文件进行MD5校验
Android 下载的文件进行MD5校验Android app下载的文件,为什么要进行MD5验证,请问什么是MD5,为什么要验证,用什么工具验证呢?MD5是message-digest algorithm 5(信息-摘要算法)的bai缩写,被广泛用于加密和解密技术上,它可以说是文件的“数字指纹”。任何一个文件,无论是可执行程序、图像文件、临时文件或者其他任何类型的文件,也不管它体积多大,都有且只有一个独一无二的MD5信息值,并且如果这个文件被修改过,它的MD5值也将随之改变。因此,我们可以通过对比同一文原创 2020-10-11 22:57:29 · 2789 阅读 · 0 评论 -
Android 使用okhttp实现webSocket
Android 使用okhttp实现webSocket一、什么是webSocket1、ws是一个协议,归属于IETF2、HTTP是运行在TCP协议传输层上的应用协议,而ws是通过HTTP协议协商如何连接,然后独立运行在TCP协议传输层上的应用协议。3、ws是一个持久化的协议,相对于HTTP这种非持久的协议来说。4、ws约定了一个通信的规范,通过一个握手的机制,客户端和服务器之间能建立一个类似tcp的连接,从而方便它们之间的通信二、为什么需要 WebSocket初次接触 WebSocket 的人原创 2020-10-11 17:04:04 · 1567 阅读 · 0 评论 -
Android 对Mac地址对认识和获取
Android 对Mac地址对认识和获取一、认识1、网卡和Mac地址网卡是一块计算机硬件,设计这个网卡,是用来允许我们使用的每一台计算机,都可以在计算机网络上进行通讯。由于网卡拥有MAC地址,因此属于OSI模型的第2层。它使得用户可以通过电缆或无线相互连接。每一个网卡都有一个被称为MAC地址的独一无二的48位串行号,它被写在卡上的一块ROM中。在网络上的每一个计算机都必须拥有一个独一无二的MAC地址。没有任何两块被生产出来的网卡拥有同样的地址。这是因为电气电子工程师协会(IEEE)负责为网络接口控制原创 2020-10-11 16:28:42 · 672 阅读 · 0 评论 -
Android VideoView详解和简单使用
Android VideoView详解和简单使用原创 2020-10-08 23:33:11 · 780 阅读 · 0 评论 -
Android 屏幕适配
Android 屏幕适配原创 2020-10-07 23:53:04 · 225 阅读 · 0 评论 -
Android apk打包的原理和流程
Android apk打包的原理和流程原创 2020-10-07 23:52:06 · 365 阅读 · 0 评论 -
Android 动态布局的实现
Android 动态布局的实现1、页面实现动态布局原创 2020-09-29 23:17:25 · 273 阅读 · 0 评论 -
Android OTA升级
Android OTA升级原创 2020-09-29 23:15:38 · 176 阅读 · 0 评论 -
Android Framework层开发
转载:https://blog.csdn.net/qq_25804863/article/details/102851515原创 2020-09-22 08:47:24 · 1096 阅读 · 0 评论 -
Android各版本特性总结
Android各版本特性总结(从最新的开始)Android R 11.01、更好地支持瀑布屏,即无边框的全面屏2、提供了适用于不同运营商的各种5G图标显示解决方案Android Q 10.01、适配折叠屏2、全屏手势导航3、应用使用黑色主题Android P 9.01、刘海屏的支持2、Android 备份加密Android O 8.01、画中画模式2、TextView 字体自动适配Android N 7.01、通知栏快捷回复2、对VR的支持...原创 2020-09-22 08:33:32 · 867 阅读 · 0 评论 -
Android SurfaceView源码分析
Android SurfaceView源码分析原创 2020-09-21 23:52:49 · 1132 阅读 · 0 评论 -
Android AMS、WMS、PMS相关面试题
Android AMS、WMS、PMS相关面试题一、AMS原创 2020-09-21 23:33:11 · 5146 阅读 · 2 评论 -
Android 关于OkHttp的面试题
Android 关于OkHttp的面试题一、简述一下OkHttpOkHttp是一个非常优秀的网络请求框架,已被谷歌加入到Android的源码中。目前比较流行的Retrofit也是默认使用OkHttp的。1、支持http2,对一台机器的所有请求共享同一个socket2、内置连接池,支持连接复用,减少延迟3、支持透明的gzip压缩响应体GZIP是网站压缩加速的一种技术,对于开启后可以加快我们网站的打开速度,原理是经过服务器压缩,客户端浏览器快速解压的原理,可以大大减少了网站的流量开GZIP有什么好原创 2020-09-21 09:08:02 · 2298 阅读 · 0 评论 -
Android 集合类HashMap、SparseArray 、ArrayMap的使用特点和使用场景
Android 数据结构HashMap、SparseArray 、ArrayMap的使用特点和使用场景一、原创 2020-09-20 18:19:49 · 449 阅读 · 0 评论 -
Android 性能调优工具Profile的使用
Android 性能调优工具Profile的使用参考链接https://www.jianshu.com/p/e75680772375原创 2020-09-19 14:50:47 · 418 阅读 · 0 评论 -
Android 进程的几种状态
Android中的进程简介(可见进程,前台进程,后台进程等)我最近在看一些Android进程方面的知识,发现自己在这方面有些欠缺。所以在查阅完资料后特意在此做一下笔记,巩固这方面的知识。Android中有多种进程,我列出下面几种:前台进程,可见进程,服务进程,后台进程,空进程。它们的定义特点分别如下:前台进程这个进程是最重要的,是最后被销毁的。前台进程是目前正在屏幕上显示的进程和一些系统进程,也就是和用户正在交互的进程。例如,我正在使用qq跟别人聊天,在我的Android手机上这个进程就应该是前台进原创 2020-09-19 10:20:02 · 890 阅读 · 0 评论 -
Android APP的性能优化
本篇文章主要是总结自己在工作中,对APP性能优化的经验总结原创 2020-09-18 22:38:01 · 434 阅读 · 0 评论 -
Android系统启动流程、应用启动流程、Activity启动流程
Android系统启动流程、应用启动流程、Activity启动流程一、Android系统的启动流程1、开机,系统加电,执行BootLoader。BootLoader负责初始化软件运行需要的最小硬件环境,最后加载内核到内存2、内核加载进内存后,首先进入内核引导阶段,在引导阶段的最后,调用start_kernel进入内核启动阶段。start_kernel最终启动用户空间的init程序3、init程序负责解析init.rc配置文件,开启系统守护进程。两个最重要的守护进程是zygote进程和ServiceM原创 2020-09-16 16:42:09 · 669 阅读 · 0 评论 -
经验总结-完整介绍Android Studio中Git的使用之git的基本准备及提交代码到本地(一)-1
前言上一篇博客介绍了Git的使用,但是篇幅过大,发表文章时很多图片都没有上传,同时也感觉到上篇博客写得过于拢长,逻辑不够好,所以我决定分篇重新介绍git的使用。 一、Git简述:1.Git 与GitHub这里首先介绍下Git与GitHub是什么东西,他们之间有何区别呢?Git :分布式版本控制系统,最初用在Linux上,可以和SVN、CVS等作为同一个概念理解,目前世界上最原创 2017-11-05 16:35:43 · 405 阅读 · 0 评论 -
经验总结-完整介绍Android Studio中Git的使用之在GitHub上创建一个远程仓库(二)
说完本地Git仓库,那么如何将项目上传至远程的GitHub仓库呢?首先我们需要有一个托管平台,然后需要创建一个仓库。现在我们开始注册一个GitHub账号,然后去后new 一个仓库吧:一、首先我们需要到GitHub官网去注册一个账号,这里我就不带着大家去注册了,很简单的,官网网址为:https://github.com/二、注册好后,就开发创建一个仓库,我们这里用一个示例做测试,名字原创 2017-11-05 17:18:30 · 1397 阅读 · 0 评论 -
经验总结-完整介绍Android Studio中Git的使用之GitHub更新代码到本地(四)
Git系列三已经介绍完上传代码,那当GitHub上增加了其它开发人员的代码,我们要更新到自己的本地仓库上(或者说更新到自己的本地项目上)怎么做呢?其实很简单呢:当我们要更新代码时,就要执行Git的pull操作,pull我们可以理解为update,就是更新代码的意思,update更新的姿势是这样的这只是pull的一种方式,你也可以项目右键去寻找pull的方式。本篇博客原创 2017-11-13 00:01:02 · 2168 阅读 · 0 评论 -
经验总结-完整介绍Android Studio中Git的使用之.gitignore和README文件的说明(五)
我在Git系列二创建仓库时有提到这两个文件,但是没有说明,就是留到现在说的。为什么要用这两个文件呢?首先是.gitignore,当我们在团队开发中,自己有更改的代码,然后要push到远程仓库,但是我们只想push自己修改过的代码,而其它没有修改过,不进行push,而是忽略掉,那就要用到这个.gitignore了。对于README,我们可以用来显示一些说明的图片。下面是一些操作小参考: 1.原创 2017-11-13 00:18:32 · 704 阅读 · 0 评论 -
经验总结-SwipeRefreshLayout控件的简单使用
现在Android开发项目中大多都会用到下拉和上拉刷新,现在开始我对这个控件的一些总结: 下拉刷新经常会用到,谷歌官方也推出了自己的下拉刷新控件SwipeRefreshLayout,使用也非常简单,直接在Listview,Gridview等外层嵌套android.support.v4.widget.SwipeRefreshLayout即可。需要注意的是现在需要导入兼容的v7,v4包。谷歌最新原创 2017-10-29 21:20:23 · 455 阅读 · 0 评论 -
经验总结-谈谈我对AppcompatActivity的认识
我相信老一代Android程序员都是从eclipse开始进行Android开发的,因为那时Android studio还没有出来,我也不例外。后来为了顺应时代发展,我也开始使用Android studio进行android开发,记得那时第一次用android studio的时候,感觉开发界面比较人性化了,很多地方比较省事了,然后要多了解gradle这个编译工具,再然后就是这个开发工具需要比原创 2017-10-28 19:48:14 · 15120 阅读 · 1 评论 -
经验总结-DDMS出现:远程主机强迫关闭了一个现有的连接的解决办法
几年前成为一个程序员,服务器、前端、Android都有涉及,并首先专攻Android开发,目标是成为一个杰出的互联网开发者,为人类的便捷生活做出贡献。刚开始学习Android开发的时候,是用eclipse,android studio还没有普及,学习过程中也遇到了很多问题,所以想把遇到的问题写成博客,和大家一起分享,同时我也可以用博客记录编程生涯的点点滴滴。刚开始规划的时候,热情满满,开始了我的第原创 2017-10-21 14:18:57 · 20519 阅读 · 1 评论 -
经验总结-Android手机屏幕适配问题
从事Android开发起,就在工作中就遇到了Android手机屏幕适配的问题,每次遇到都是查找资料解决,也没有进行回顾总结,最近又遇到了屏幕适配问题,我醒悟的发现,我必须进行一次屏幕适配总结了。我相信从事Android开发的程序员,或多或少都接触过屏幕适配的问题,那大家清楚为什么要对Android的屏幕进行适配吗?原因是,Android的屏幕已经碎片化,屏幕尺寸这么多,为了让我们开发的程序能够原创 2017-10-28 23:45:39 · 1269 阅读 · 0 评论 -
经验总结-RecyclerView和SwipeRefreshLayout结合实现上拉和下拉刷新
最近赶工程项目,又用到了RecyclerView,而且结合SwipeRefreshLayout控件实现了下拉刷新。我也算是老Android程序员了,虽然水平还不是很高~~~,以前都是用listview的,什么都用listview,而且感觉很高大上。现在熟悉了RecyclerView后,基本不使用listview了,因为RecyclerView太好用了,而且感觉更神奇,趁着现在有热情,我也正好写一下原创 2017-10-31 23:14:42 · 2708 阅读 · 0 评论