自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(721)
  • 资源 (16)
  • 收藏
  • 关注

原创 Android查看源码网址

http://androidxref.com/9.0.0_r3/search?q=Activity&defs=&refs=&path=&hist=&project=system

2021-05-18 17:30:11 100

原创 内存优化方法总结

一. 参考Manage your app’s memoryhttps://developer.android.com/topic/performance/memory#remove二. 总结使用为移动平台优化的数据结构比如在少量数据情况下,用SparseArray替换HashMap移除一些只用很少功能却很大的库,改为自己实现该功能比如在上传头像图片这个很小的功能点上用了一个很大的第三方ugc库就可以删掉,改为自己用原生接口实现....

2021-05-12 16:25:57 234

转载 kotlin语言‘if‘ must have both main and ‘else‘ branches if used as an expression

1.kotlin语言。

2023-05-10 14:34:50 259 1

原创 ViewPager2 使用说明书&(预加载|| 延迟加载)数据优化内存和提升滑动流畅性

1.ViewPager2的底层实现是将Recyclerview;

2023-04-06 18:12:46 838

转载 java string 拼接内存问题

java string 拼接内存问题https://www.csdn.net/tags/MtTakg1sMDI1NDktYmxvZwO0O0OO0O0O.html

2022-08-26 05:39:24 292

原创 java类加载和xml加载区别和联系.

java类加载:是将字节码文件通过jvm的类加载器加载到内存中生成Class类实例的过程.主要包括类加载,链接和初始化三个过程.加载:其中就是将字节码文件通过类加载器加载到内存中;链接:包括三个部分,一个是验证:去验证文件是否合虚拟机规范; 一个是准备:为类变量分配内存,赋予默认值(0,false等);一个是解析:将符号引用替换为直接内存引用,比如将hello方法引用替换为内存地址1234这样.初始化:就是对类变量(static修饰的变量)进行初始化,执行类构造过程.xml加载:可以通过xm

2022-04-27 19:59:15 363

原创 推荐的Android app应用程序架构实践

参考1.Guide to app architecturehttps://developer.android.com/jetpack/guide总结概述(Overview)Given the condition of this environment, it’s possible for your app to be launched individually and out-of-order,and the operating system or user can destroy them at

2022-04-25 19:24:29 1937

原创 JavaScript 运行原理解析

参考JavaScript 运行原理解析 [先读这一篇]https://juejin.cn/post/6844903551009816589JavaScript is one of the 3 languages all web developers must learn:https://www.w3schools.com/js/JavaScripthttps://en.wikipedia.org/wiki/JavaScript理解1.JavaScript(JS)是一个Web开

2022-04-19 14:57:00 2697

原创 数据库简述

数据库一.范式第一范式(1NF):属性不可分割eg1.学号, 课程 -> 学院, 院长, 成绩第二范式(2NF)每个非主属性完全函数依赖于键码(主属性).eg2.(从eg1.分解可得)学号-> 学院学院-> 院长学号,课程->成绩第三范式(3NF)非主属性不传递函数依赖与主属性eg3.eg1.中存在: 学号 -> 学院 -> 院长需进行拆分如eg2.二.事务数据库事务是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,

2022-04-02 17:18:22 666

原创 操作系统简述

操作系统作用:管理系统的软件和硬件资源,为用户应用程序提供服务主要功能:一.进程管理1.进程调度(FCFS, SJF)2.进程同步:控制多个进程使其有序执行3.进程通信:(共享内存,套件字)二.内存管理1.虚拟逻辑内存地址->物理内存地址2.内存分页(页面置换算法lru, nru)三.文件管理1.文件的组织结构1).文件的逻辑结构分为有结构文件(多个记录构成类似与数据库表);无结构文件(由字符流构成,又称为流式文件).2).文件的物理结构即外存(磁盘块)分配方式(连续,链式,

2022-04-01 16:59:02 794

转载 深入理解操作系统原理之设备管理

深入理解操作系统原理之设备管理https://blog.csdn.net/xiaokang123456kao/article/details/73873722#t6设备管理1.设备管理目标:(1)提高设备利用率.为了尽量提高CPU和I/O设备之间的并行操作程度,主要利用:中断技术; 缓存技术.(2)为用户提供方便、统一的界面方便:用户能独立与具体设备的复杂物理特性之外而方便的使用设备.统一:对不同的设备尽量使用统一的操作方式.这些要求用户操作的是简单的逻辑设备,而具体的I/O物理设备由操

2022-04-01 16:56:18 213

原创 TreeMap原理(红黑树:一种平衡二叉查找树)

参考1.TreeMap原理实现及常用方法https://www.cnblogs.com/LiaHon/p/11221634.html2. 红黑树https://zh.wikipedia.org/wiki/%E7%BA%A2%E9%BB%91%E6%A0%91笔记1.map里面treemap是排序的。

2022-03-19 00:44:53 123

转载 存储程序原理

存储程序原理https://baike.baidu.com/item/%E5%AD%98%E5%82%A8%E7%A8%8B%E5%BA%8F%E5%8E%9F%E7%90%86/3516568

2022-03-16 15:25:04 99

转载 计算机组成原理——原理篇 IO(上)

计算机组成原理——原理篇 IO(上)https://www.cnblogs.com/wwj99/p/12852344.html#%E4%BF%A1%E5%8F%B7%E5%92%8C%E5%9C%B0%E5%9D%80%E5%8F%91%E6%8C%A5%E6%80%BB%E7%BA%BF%E7%9A%84%E4%BB%B7%E5%80%BC

2022-03-16 12:47:51 101

转载 硬盘的物理结构和工作原理

硬盘的物理结构和工作原理https://www.jianshu.com/p/42308db1fcde

2022-03-15 19:21:49 101

转载 微机的开机顺序是什么

微机的开机顺序是什么https://zhidao.baidu.com/question/107484647.html

2022-03-15 16:35:39 117

原创 深入理解okio的优化思想

参考https://github.com/square/okio深入理解okio的优化思想https://blog.csdn.net/zoudifei/article/details/51232711#t4Okio从懵逼到掌握https://www.jianshu.com/p/84f1f4152124理解okio核心的优化在于将原来传统的拷贝文件时需要,使用到输入缓存,中间自定义缓存, 输出缓存,并进行内存拷贝的工作:File original = new File("hello.txt"

2022-03-14 15:15:09 2698

原创 Retrofit使用和理解

使用1.接口方法public interface GitHubService { @GET("/users/{user}/repos") Call<List<GitHubRepo>> reposForUser(@Path("user") String user);}返回的数据类型public class GitHubRepo { private int id; private String name; public Git

2022-03-10 16:31:35 2275

原创 Service两种启动方式startService和bindService区别

总结Service两种启动方式startService和bindService区别1.两者启动的Service的生命周期不同2.可以通过bindService会绑定到服务,然后利用返回的Binder去调用服务提供的方法.参考服务两种启动方式(startService与bindService)的区别https://blog.csdn.net/qq_42761395/article/details/98496921...

2022-03-09 17:42:41 573

原创 HttpURLConnection和HttpClient区别

HttpURLConnection和HttpClient区别HttpClient是apache提供的一个开源的网络请求库,.封装了http请求头,参数,内容体,响应等.api丰富,功能完善.但也不太好扩展.在5.1后Android废弃了HttpURLConnection是java的标准类,是一个轻量级的Http客户端,没有过多封装,使用灵活,早期Android版本上有些bug,后期解决后官方比较推荐使用.参考:HttpClient和HttpURLConnection的区别[转]https://w

2022-03-08 15:34:44 1829

原创 网络通信之Socket与LocalSocket的比较

网络通信之Socket与LocalSocket的比较https://www.shuzhiduo.com/A/gVdnmBKQ5W/理解Socket是网络通信的套接字实现; LocalSocket是Android用于系统内跨进程通信的实现. 都基于Client和Server模式进行通信.

2022-03-08 11:05:56 3594

原创 ContentProvider的实现原理

原理理解ContentProvider基于Binder实现跨进程的通信来传递数据.Client端进程使用ContentResolve.query的时候会通过AMS获取ContentProvider.若没有则会启动Provider端的进程,然后安装和发布Provider,之后Client端获得ContentProviderProxy,这样就可以用ContentProviderProxy和ContentProvider进行跨进程的数据传输.参考理解ContentProvider原理http:

2022-03-04 16:00:40 1071

转载 什么是java OOM?如何分析及解决oom问题?

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

2022-02-28 19:48:36 130

原创 一个java源文件中只能有一个public 的类,但是一个java 类里面可以有多个public的类

一个java源文件中只能有一个public 的类,但是一个java 类里面可以有多个public的类

2022-02-28 17:09:47 1364

原创 Java NIO理解总结

参考一文让你彻底理解 Java NIO 核心组件https://segmentfault.com/a/1190000017040893Java NIO浅析https://tech.meituan.com/2016/11/04/nio.html理解传统的Java IO 通过开启多个线程的方式解决IO过程中一个IO流无法读写数据时,CPU资源的空闲.即一个线程对应的IO阻塞,则将该线程挂起. 让另一个线程跑起来去工作.传统的Java IO 在有非常大量的请求连接的时候(如大规模的服务

2022-02-28 11:40:03 103

转载 Java | Exception 和 Error 有何区别?

Java | Exception 和 Error 有何区别?https://zhuanlan.zhihu.com/p/55826813

2022-02-24 15:34:14 82

转载 JAVA设计模式总结之六大设计原则

JAVA设计模式总结之六大设计原则https://www.cnblogs.com/pony1223/p/7594803.html

2022-02-23 15:00:37 54

转载 RAID磁盘阵列是什么(一看就懂)

RAID磁盘阵列是什么(一看就懂)https://zhuanlan.zhihu.com/p/51170719

2022-02-23 10:23:02 72

原创 Android保活方法

参考Android 保活措施https://juejin.cn/post/6844904020901888008深度剖析APP保活案例http://gityuan.com/2018/02/24/process-keep-forever/2020年Android最新保活实现原理揭秘https://cloud.tencent.com/developer/news/585273Android实现进程保活方案解析https://cloud.tencent.com/developer/article

2022-02-22 16:14:01 1380

转载 当你在浏览器中输入 google.com 并且按下回车之后发生了什么?

当你在浏览器中输入 google.com 并且按下回车之后发生了什么?https://github.com/skyline75489/what-happens-when-zh_CN#window-server

2022-02-21 17:43:53 76

原创 Android音频系统学习理解

一. 参考1.深入理解Android音频框架AudioTrack到AudioFlinger及Mix过程https://blog.51cto.com/u_15127656/2800159二.理解

2022-02-07 01:05:29 1371

原创 拆轮子系列:拆 OkHttp--理解笔记

一.参考拆轮子系列:拆 OkHttphttps://blog.piasy.com/2016/07/11/Understand-OkHttp/index.html二.理解1.okhttp通过责任链模式构造了一系列interceptor; 将Request请求转换为Response返回; 其中每层的一个interceptor先尝试自己处理; 若处理未完成则交给下一个interceptor去处理.(会将自己处理的成果也传递到下一个interceptor).整体上okhttp从上到下有:(a)int

2022-01-17 19:57:56 1481

原创 图片库Picasso阅读与主流程理解并实现的总结

一. 参考Android 库 图片库比较https://www.jianshu.com/p/44a4ee648ab4https://github.com/square/picasso二. 图片库Picasso阅读与主流程理解并实现的总结Picasso 动态逻辑流程Picasso 分层设计1. Picasso: 作为请求管理层, 通过调用者给出的填充目标和请求目标构造Request并发到Dispatcher2. Dispatcher: 作为分发处理层,接收各个Reque

2022-01-11 16:19:56 1659

原创 在线画图https://www.iodraw.com/

在线画图https://www.iodraw.com/

2022-01-11 15:29:34 1510

原创 Dalvik虚拟机和ART虚拟机

一.参考Dalvik虚拟机和ART虚拟机https://www.kancloud.cn/alex_wsc/androids/472173二. 理解笔记虚拟机是每个进程持有的一个程序实例.用以执行java字节码.参考:JVM的本质https://blog.csdn.net/u014801801/article/details/52738472进程是一个操作系统中用以分配内存和cpu资源的可运行的结构体.参考:通俗理解进程,线程,程序,jvm实例间的关系https://blo

2021-12-28 21:06:48 399

转载 Android 操作系统的内存回收机制

Android 操作系统的内存回收机制https://cstsinghua.github.io/2017/02/09/Android%20%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E7%9A%84%E5%86%85%E5%AD%98%E5%9B%9E%E6%94%B6%E6%9C%BA%E5%88%B6/#Linux-%E5%86%85%E6%A0%B8%E4%B8%AD%E7%9A%84%E5%86%85%E5%AD%98%E5%9B%9E%E6%94%B6...

2021-12-22 16:56:43 496

原创 Android启动速度优化

参考Android性能优化典范 - 第6季https://mp.weixin.qq.com/s/uySEk1cwxRENneFsoReFyw

2021-12-17 17:57:42 1568

原创 Gradle sync failed: A problem occurred configuring project ‘ java.lang.NullPointerException (no erro

问题解决记录1. 问题:Gradle sync failed: A problem occurred configuring project ’ java.lang.NullPointerException (no error message)2. 尝试的方法(1) 直接将最上层的java错误进行Google搜索解决方法.网上提供的rm .gradle 方法没有起作用.(1.1) 启示最上层的错误,没有更好的揭示底层导致问题的原因, 因此单纯的根据上层抛出的错误进行问题搜索解决.无法精准定位

2021-12-07 15:29:35 1462

转载 Java enum的用法详解

Java enum的用法详解https://www.cnblogs.com/happypawpaw/archive/2013/04/09/3009553.html

2021-11-29 17:35:12 79

原创 收发短信笔记

一. 参考SmsManagerhttps://developer.android.com/reference/android/telephony/SmsManagerAndroid SMS架构https://blog.csdn.net/ganjinrui/article/details/44758583?spm=1001.2014.3001.5501二. 理解总结短信等上层应用调用Framework层的管理类SmsManage.sendTextMessage进行短信发送.S

2021-11-15 16:54:44 1829

linux_android_telephony_ril_overview.pdf

linux_android_telephony_ril_overview.pdf

2021-11-18

【Android】视频拍摄-音乐&原音调节.docx

【Android】视频拍摄-音乐&原音调节

2019-06-14

等一分钟——Android项目构建性能优化抛砖引玉的副本.docx

等一分钟——Android项目构建性能优化抛砖引玉的副本

2019-06-14

php笔试题 百度

php笔试题 百度

2017-06-13

php学习资源

php study

2017-06-13

目标与时间关联

时间管理

2017-06-07

工作中采用的linux命令

linux 命令

2017-06-07

Android自动化测试(MonkeyRunner)脚本python

Android自动化测试(MonkeyRunner)脚本

2015-12-25

基于Android手机通讯录的设计与实现

一篇很好的关于Android的本科毕业论文《基于android手机通讯录的设计与实现毕业论文》转自百度

2015-10-27

Android开发数据相关

Android开发数据相关 包括:SQLite数据库,SharedPreferences以及ContentProvider的PPT讲解和工程演示

2015-07-14

C语言编程实现的五子棋程序源代码可运行

C语言编程实现的五子棋程序源代码可运行 五子棋 小程序 小游戏 C语言实现

2012-07-13

循环赛日程表

算法设计分析 递归分治类 循环赛日程表 C语言书写 VC6.0 运行通过

2012-06-29

西工大算法分析往届试题

西工大 算法分析设计 期末试题 打包哦,所有资源全部包括。

2012-06-29

100个数排序

递归分治 算法 100个数排序 C语言书写,有利于阅读,运行于VC6.0

2012-06-29

列举N位二进制数

算法分析与设计 递归分治 列举N位二进制数 包括运行文件

2012-06-26

空空如也

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

TA关注的人

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