java多线程 基础概念进程和线程的区别?多线程有什么好处? 进程是操作系统资源分配的最小单位,线程是进程的一个实体,是cpu调度和分配的基本单元,同一个进程的线程共享内存空间,一个线程的操作是会影响另一个线程的。 进程:正在进行中的程序(直译)。线程:就是进程中一个负责程序执行的控制单元 一个进程中可以多执行路径,称之为多线程,一个进程中至少要有一个线程。 开启多个线程是为了同时运行多部分代码。 每一个线程 2024-04-06 Java
Java基础 其他Java 的 Object 类有哪些常用的方法? 哪些场景下,子类需要重写 equals 方法和 hashCode 方法?比较两个对象是否相等的时候。hashCode 相等,两个对象不一定相等;两个对象 equals 后相等,则两个对象的 hashCode 一定相等。 为什么在写自定义的类的时候要重写 equals?默认是比较的两个对象内存的地址 什么要同时重写 hashcode 方法?未重写 2024-04-06 Java
热修复、插件化、组件化 组件化模块化:项目按照独立的模块进行划分 项目组件化的重要环节在于,将项目按照模块来进行拆分,拆分成一个个业务module和其他基础module(lib),各个业务module之间互不依赖,互相解耦!每个业务module都可以安排不同的开发人员团队来进行开发,不强制使用一种开发模式,MVP可以,MVC也可以!然后各个业务module之间通过路由机制进行跳转和传递! 资源名冲突color,shape 2024-04-06 Android > 架构
MVP MVVM Jetpack MVP MVVM[[MVI学习]] MVC(Model-View-Controller)M 是指逻辑模型,V 是指视图模型,C 则是控制器。通过 controller 的控制去操作 model 层的数据,并且返回给 view 层展示。一个逻辑模型可以对于多种视图模型。 Android 中也可以说采用了当前比较流行的 MVC 框架,在 Android 中: 视图层(View): 2024-04-06 Android > 架构
MVI学习 文章[[Flow学习]] MVVM 进阶版:MVI 架构了解一下 MVI 架构更佳实践:Mavericks 响应式编程 MVI 是在响应式编程的前提下,通过 “将页面状态聚合” 来统一消除上述 2 个问题,也即原先分散在各个 LiveData 中的 String、Boolean 等状态,现全部聚合到一个 JavaBean / data class 中,由唯一的粘性观察者回推,所有控件都在 2024-04-06 Android > 架构
LiveData、ViewModel ViewModel优点ViewModel 被设计出来,不仅为了解决上面所说的 configuration 改变时候能保留数据。其真正意义在于以下几个方面: 职责分离:使 Activity/Fragment 不用再负责从某些数据源获取数据,只需要负责展示数据就好,同时还消除了在配置更改时保留数据对象实例的引用的责任。这两个职责都转给了 ViewModel。 简化对没用数据的清理:当 Ac 2024-04-06 Android > 架构
线上问题排查 怎么排查 日志打点怕打太多也怕太少,担心出现问题没有足够丰富的信息去定位分析问题。应该打多少日志,如何去打日志并没有一个非常严格的准则,这需要整个团队在长期实践中慢慢去摸索。在最开始的时候,可能大家都不重视也不愿意去增加关键代码的日志,但是当我们通过日志平台解决了一些疑难问题以后,团队内部的成功案例越来越多的时候,这种习惯也就慢慢建立起来了。 使用 Mars 的 xlog,Java 实现写日志,G 2024-04-06 Android
图片、glide优化 图片优化[[图片低配系统 oom 优化]] 一、图片压缩的意义是什么 1.节约流量、2.降低服务器带宽、3.降低 app 内存占用 二、图片压缩的分类 1.质量压缩(图片存储卡大小)2.尺寸压缩 (内存) 三、Android6.0与 7.0压缩 JPEG 图片的区别 如果是一张的话压缩处理,大量图片的话用 lru int maxMemory = (int) (Runtime.getRun 2024-04-06 Android > 优化
卡顿优化ANR ANR什么是 ANRANR 全称 Applicatipon No Response;Android 设计 ANR 的用意,是系统通过与之交互的组件 (Activity,Service,Receiver,Provider) 以及用户交互 (InputEvent) 进行超时监控,以判断应用进程 (主线程) 是否存在卡死或响应过慢的问题。其实就是很多系统中看门狗 (watchdog) 的设计思想。 An 2024-04-06 Android
冷启动优化 冷启动优化traceview 检查耗时的方法 App 进程的创建等环节我们是无法主动控制的。开发人员唯一能做的就是减少在 Application 和第一个 Activity 中的工作量,从而缩短冷启动的时间。 Application 会执行多次,要只在主 app 的 Application 执行,加速启动if (AppUtils. inMainProcess (getApplication ()) 2024-04-06 Android