- 博客(722)
- 资源 (16)
- 收藏
- 关注

原创 Android查看源码网址
http://androidxref.com/9.0.0_r3/search?q=Activity&defs=&refs=&path=&hist=&project=system
2021-05-18 17:30:11
133

原创 内存优化方法总结
一. 参考Manage your app’s memoryhttps://developer.android.com/topic/performance/memory#remove二. 总结使用为移动平台优化的数据结构比如在少量数据情况下,用SparseArray替换HashMap移除一些只用很少功能却很大的库,改为自己实现该功能比如在上传头像图片这个很小的功能点上用了一个很大的第三方ugc库就可以删掉,改为自己用原生接口实现....
2021-05-12 16:25:57
291
原创 Android Dialog圆角设置无效的问题
Android Dialog圆角设置无效的问题Android自定义Dialog实现通用圆角对话框。
2024-04-15 09:29:11
795
转载 kotlin语言‘if‘ must have both main and ‘else‘ branches if used as an expression
1.kotlin语言。
2023-05-10 14:34:50
566
原创 ViewPager2 使用说明书&(预加载|| 延迟加载)数据优化内存和提升滑动流畅性
1.ViewPager2的底层实现是将Recyclerview;
2023-04-06 18:12:46
1185
转载 java string 拼接内存问题
java string 拼接内存问题https://www.csdn.net/tags/MtTakg1sMDI1NDktYmxvZwO0O0OO0O0O.html
2022-08-26 05:39:24
392
原创 java类加载和xml加载区别和联系.
java类加载:是将字节码文件通过jvm的类加载器加载到内存中生成Class类实例的过程.主要包括类加载,链接和初始化三个过程.加载:其中就是将字节码文件通过类加载器加载到内存中;链接:包括三个部分,一个是验证:去验证文件是否合虚拟机规范; 一个是准备:为类变量分配内存,赋予默认值(0,false等);一个是解析:将符号引用替换为直接内存引用,比如将hello方法引用替换为内存地址1234这样.初始化:就是对类变量(static修饰的变量)进行初始化,执行类构造过程.xml加载:可以通过xm
2022-04-27 19:59:15
418
原创 推荐的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
2016
原创 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
2735
原创 数据库简述
数据库一.范式第一范式(1NF):属性不可分割eg1.学号, 课程 -> 学院, 院长, 成绩第二范式(2NF)每个非主属性完全函数依赖于键码(主属性).eg2.(从eg1.分解可得)学号-> 学院学院-> 院长学号,课程->成绩第三范式(3NF)非主属性不传递函数依赖与主属性eg3.eg1.中存在: 学号 -> 学院 -> 院长需进行拆分如eg2.二.事务数据库事务是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,
2022-04-02 17:18:22
701
原创 操作系统简述
操作系统作用:管理系统的软件和硬件资源,为用户应用程序提供服务主要功能:一.进程管理1.进程调度(FCFS, SJF)2.进程同步:控制多个进程使其有序执行3.进程通信:(共享内存,套件字)二.内存管理1.虚拟逻辑内存地址->物理内存地址2.内存分页(页面置换算法lru, nru)三.文件管理1.文件的组织结构1).文件的逻辑结构分为有结构文件(多个记录构成类似与数据库表);无结构文件(由字符流构成,又称为流式文件).2).文件的物理结构即外存(磁盘块)分配方式(连续,链式,
2022-04-01 16:59:02
981
转载 深入理解操作系统原理之设备管理
深入理解操作系统原理之设备管理https://blog.csdn.net/xiaokang123456kao/article/details/73873722#t6设备管理1.设备管理目标:(1)提高设备利用率.为了尽量提高CPU和I/O设备之间的并行操作程度,主要利用:中断技术; 缓存技术.(2)为用户提供方便、统一的界面方便:用户能独立与具体设备的复杂物理特性之外而方便的使用设备.统一:对不同的设备尽量使用统一的操作方式.这些要求用户操作的是简单的逻辑设备,而具体的I/O物理设备由操
2022-04-01 16:56:18
295
原创 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
166
转载 存储程序原理
存储程序原理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
147
转载 计算机组成原理——原理篇 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
138
原创 深入理解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
2757
原创 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
2311
原创 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
661
原创 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
1896
原创 网络通信之Socket与LocalSocket的比较
网络通信之Socket与LocalSocket的比较https://www.shuzhiduo.com/A/gVdnmBKQ5W/理解Socket是网络通信的套接字实现; LocalSocket是Android用于系统内跨进程通信的实现. 都基于Client和Server模式进行通信.
2022-03-08 11:05:56
3735
原创 ContentProvider的实现原理
原理理解ContentProvider基于Binder实现跨进程的通信来传递数据.Client端进程使用ContentResolve.query的时候会通过AMS获取ContentProvider.若没有则会启动Provider端的进程,然后安装和发布Provider,之后Client端获得ContentProviderProxy,这样就可以用ContentProviderProxy和ContentProvider进行跨进程的数据传输.参考理解ContentProvider原理http:
2022-03-04 16:00:40
1188
转载 什么是java OOM?如何分析及解决oom问题?
https://www.cnblogs.com/thinkvenus/p/6805495.html
2022-02-28 19:48:36
179
原创 一个java源文件中只能有一个public 的类,但是一个java 类里面可以有多个public的类
一个java源文件中只能有一个public 的类,但是一个java 类里面可以有多个public的类
2022-02-28 17:09:47
1473
原创 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
146
转载 Java | Exception 和 Error 有何区别?
Java | Exception 和 Error 有何区别?https://zhuanlan.zhihu.com/p/55826813
2022-02-24 15:34:14
130
转载 JAVA设计模式总结之六大设计原则
JAVA设计模式总结之六大设计原则https://www.cnblogs.com/pony1223/p/7594803.html
2022-02-23 15:00:37
92
原创 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
1480
转载 当你在浏览器中输入 google.com 并且按下回车之后发生了什么?
当你在浏览器中输入 google.com 并且按下回车之后发生了什么?https://github.com/skyline75489/what-happens-when-zh_CN#window-server
2022-02-21 17:43:53
118
原创 Android音频系统学习理解
一. 参考1.深入理解Android音频框架AudioTrack到AudioFlinger及Mix过程https://blog.51cto.com/u_15127656/2800159二.理解
2022-02-07 01:05:29
1426
原创 拆轮子系列:拆 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
1526
原创 图片库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
1710
原创 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
436
转载 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
793
原创 Android启动速度优化
参考Android性能优化典范 - 第6季https://mp.weixin.qq.com/s/uySEk1cwxRENneFsoReFyw
2021-12-17 17:57:42
1604
原创 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
1683
转载 Java enum的用法详解
Java enum的用法详解https://www.cnblogs.com/happypawpaw/archive/2013/04/09/3009553.html
2021-11-29 17:35:12
113
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人