git仓库迁移
git仓库从一台服务器迁移到另外一台服务器:
1) 从原有仓库克隆一份裸版库,sample
1 | git clone --bare git://github.com/username/project.git |
git仓库从一台服务器迁移到另外一台服务器:
1) 从原有仓库克隆一份裸版库,sample
1 | git clone --bare git://github.com/username/project.git |
项目中网络底层库使用的okhttp,但是上层使用的Volley和glide;于是就设计的到了通用的请求header设置。于是通过Interceptor给设置的统一的header,但是okhttp的api确实有点坑啊。上线后发现图片的请求有两个UA,而且两个UA一个是我们设置的一个是glide默认的。
排查发现我们调用的Request.Builder.addHeader(k, v) 这个api是添加header,不会移除调之前有的header信息,比如设置UA,glide库设置了一个默认值,而我们又调用了这个api,这就产生了两个重复的UA。
正确的api是调用Request.Builder.header(k, v)来设置header,这个api会覆盖之前已有的header。
也可以先通过Request.Builder.removeHeader(K)先移除,然后再调用addHeader(K, V)
Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。当一个对象被序列化的时候,transient型变量的值不包括在序列化的表示中,然而非transient型的变量是被包括进去的。
作者总结的很不错,非常适合git入门人员使用,转过来,并注明出处。来自于android开发精选
公众号
常用git命令&version=12020110&nettype=WIFI&fontScale=100&pass_ticket=EECAVbQT98lTVrzTbXb78HOWwpX4a7eQQ7AS4ZidkNO3dzrZe6cK%2BFuOA8Jw47sk)
公司项目使用了Fabric 进行crash的统计,但是最近不知是何故,fabric的几个域名无法访问了,更悲催的是fabric的gradle插件中有个任务需要访问这个域名上传一些编译生成的信息,这就直接导致客户端无法打正式的release包,一直卡在crashlyticsUploadDeobsRelease
这个task。
测试了各种办法:a. 公司网络有没有对fabric指定的域名做黑名单; b. 通过代理vpn访问指定fabric的域名;均没有结果。
好吧,活人不能被尿憋死,只能放大招了,屏蔽调这个task。原理很简单获取到这个task,然后将enable属性设置成false。
gradle屏蔽掉指定的task1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16allprojects {
repositories {
jcenter()
}
//skip Test tasks
gradle.taskGraph.whenReady {
tasks.each { task ->
if (task.name.contains("crashlyticsUploadDeobsRelease"))
{
task.enabled = false
}
}
}
}
Heap: 堆
Stack: 栈
Heap内存的分配也叫动态内存分配
Stack内存相对于线程而言,执行函数时,内部变量的存储放在栈上边创建。Stack主要保存线程中方法中短期存在的变量值和对Heap中对象的引用。
区别:
Too many classes in –main-dex-list, main dex capacity exceeded1
2
3
4
5
6com.android.dex.DexException: Too many classes in --main-dex-list, main dex capacity exceeded
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:494)
at com.android.dx.command.dexer.Main.runMultiDex(Main.java:332)
at com.android.dx.command.dexer.Main.run(Main.java:243)
at com.android.dx.command.dexer.Main.main(Main.java:214)
at com.android.dx.command.Main.main(Main.java:106)
总结一下最近使用glide的过程中出现的两个比较棘手的问题
1 | /** |