1. 常用命令 命令 作用 dd 删除(剪切)光标所在行 5dd 删除(剪切)从光标处开始的5行 yy 复制光标所在的整行 5yy 复制光标处开始的5行 ...
Git常用命令
用户配置 git config --global user.name 'jiangker' git config --global user.email 'niklaus1996@icloud.com' 默认为 –local 只对某个仓库有效 –global 对当前用户所有仓库有效 –system 对系统所有登录的用户有效 显示config的配置 git conf...
SQLite
1. 创建数据库 Android提供一个SQLiteOpenHelper抽象类来协助我们使用SQLite,使用时需要继承至SQLiteOpenHelper并实现其中的两个抽象方法onCreate()、onUpgrade()。SQLiteOpenHelper中还有两个非常重要的方法:getWritableDatabase()和getReadableDatabase()。这两个方法都可以创建或...
Mysql命令
数据库操作 进入数据库命令行,回车输入密码 mysql -u root -p 数据库相关命令 输入 作用 show databases 数据库列 use (数据库) 切换数据库 show tables ...
Protobuf的使用
项目配置 项目build.gradle buildscript { dependencies { //添加 classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.8' } } 模块build.gradle plugins { id 'com.google.protob...
Android 性能优化
1. 布局优化: 改进自定义的View,界面中大量使用的输入框都是由LinearLayout来封装的。因为EditText都是有drawable的,所以改为自定义的EditText减少布局层级。 使用include、merge、viewstub来优化布局层级以及延迟加载。 使用约束布局来更改界面中的复杂布局 布局中多使用精确尺寸,例如match_parent以及dp,减少...
线程池
Executor框架用于把任务的提交和执行解耦,任务的提交交给Runnable或Callable,而Executor用来处理任务。ThreadPoolExecutor时线程池的核心实现类。 ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int max...
ThreadLocal
使用 同一个对象,在不同的线程中可以维持不同的值 class ThreadLocalTest { @Test fun testName(){ val localName = ThreadLocal<String>() val name = "jiangker" localName.set(name) ...
Android 序列化
Serializable接口 因为序列化和反序列化都需要大量的IO操作,开销大,适用于将对象序列化到存储设备中或者将对象序列化后通过网络传输 public class Test implements Serializable { //辅助序列化,严重是否为相同的类,防止序列化失败 private static final long serialVersionUID = 12...
仿Getx Obx
创建的flutter初始状态代码 class MyHomePage extends StatefulWidget { MyHomePage({Key key, this.title}) : super(key: key); final String title; @override _MyHomePageState createState() => _MyHome...