目录 1.介绍 2.为什么要用ConstraintLayout 3.如何使用ConstraintLayout3.1 添加依赖3.2 相对定位3.3 角度定位3.4 边距3.5...
目录 1.介绍 2.为什么要用ConstraintLayout 3.如何使用ConstraintLayout3.1 添加依赖3.2 相对定位3.3 角度定位3.4 边距3.5...
1.1组件生命周期 调用顺序: 1.1.1 构造函数(constructor) 1、第一个语句必须是super(props)。2、contructor将在任意一个RN组件被加...
网上关于刘海屏适配的文章不少,可讲清楚的却没几篇,大多是拷贝文档、长篇大论,甚至热情的贴图告诉你什么是刘海屏,到最后你仍不确定到底是怎样的一个适配方案,才能让你的 app 真...
一、6.0适配 谈谈Android 6.0 的动态权限管理 二、7.0适配 Android 7.0脱坑指南 三、8.0适配 Android 8.0适配指北 四、9.0适配 A...
创建对象方式: 1.采用new 2.通过反射 3.采用clone 4.通过序列化机制 Object中有哪些公共方法? 如果原地,不使用第三个变量交换两个变量的值 例...
单元测试是应用程序测试策略中的基本测试,通过对代码进行单元测试,可以轻松地验证单个单元的逻辑是否正确,在每次构建之后运行单元测试,可以帮助您快速捕获和修复因代码更改(重构、优...
本文主要包括三大部分内容:内存管理基础:从整个计算机领域简述主要的内存管理技术。Linux的内存管理机制:Android毕竟是基于Linux内核实现的操作系统,因此有必要了解...
ConnectInterceptor连接拦截器分析 源码地址:https://github.com/square/okhttp 经过前几个拦截器的预热,终于来到了拦截器的重头...
如果你还不知道Retrofit,没关系,okhttp你总知道吧。retrofit就是对okhttp再做了一层封装。你只需要通过简单的配置就能顺利使用retrofit来做网络请...