Git清理误传的文件

Git清理误传的文件 ​ Git进行版本管理的时候,项目中很多文件(配置文件,自动生成文件,构建生成文件,依赖包等)是不需要同步上传到服务器。一方面,造成文件的多余,另一方面,如本地配置文件(local.properties),不同人员的来回提交,则会造成同步开发人员的版本混乱——不断地解决重复冲突,这是相当不值得的。 ​ Git提供了一种忽略机制——gitignore。本质上也是一种Git配置,类似于配置文件。将配置文件中相关文件忽略,写法与Android工程是熟悉的混淆配置文件(proguard-rules.pro)非常相似。功能也是将.gitignore里面配置好的文件忽略,或者说是剔除,不让此文件加入版本控制。 ​ 关于gitignore的详细介绍请参考这里,第二章基础 ​ 显然,对于我这种Git新手,很可能知道这些的时候,已经把配置文件都扔到服务器上了。然后,一阵胡搞乱搞…(都是满纸辛酸泪),其实根本原因还是对Git本身理解不够。接下来,简单介绍一下做法,以及远离。 ​ 解决步奏: 将配置文件文件名(如local.properties)放到.gitignore里。 检查工作空间里是否还有这个文件(如,在配置文件里随便改点,然后,git status检查工作空间里是否存在) 如果不存在,你可以关掉网页了。如果存在,备份,然后删除它!!!(直接在shell里rm) 然后 add , commit ,push 一套走下来。 查看远程git服务器端也没有这个文件。 然后,把刚才备份的文件拿回来。 写到这,突然觉得自己好无聊啊好无聊,这么特么的不就是删了就完了。好吧,我承认,这就是… 接下来说说我的理解,Git的版本控制其实本质上是对文件的操作跟踪。所以,一旦进入了版本控制,跟踪系统就会去记录它(这个文件)上发生的所有操作,即便把它放到忽略文件里也同样。因为忽略是晚于跟踪的,也就是说,只有未被跟踪的文件才有被忽略的权利。 下面是 git status 中对于修改的文件和刚刚加入的文件的显示 这个时候,上面两个文件是无法被忽略的,而add.txt,是可以被忽略的。 这也刚才我们必须先删除,再拿回来的原因。 附上Android常用的.gitgnore。 # built application files *.ap_ # files for the dex VM *.dex *.iml # Java class files *.class # generated files bin/ gen/ *target/ *build/ *build* .gradle/ .idea/ gen-external-apklibs/ # Local configuration file (sdk path, etc) /library_wheel/build local.properties Read On →

second

想试一下自动部署脚本 还有大师傅的歌真的很不好听~~~

执着

只是执着而已 最近,

Android 中的Dalvik和ART 什么是Dalvik? Dalvik是Google公司自己设计用于Android平台的虚拟机。 Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。 它可以支持已转换为** .dex格式**的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。 Dalvik 经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik 应用作为一个独立的Linux 进程执行。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。 很长时间以来,Dalvik虚拟机一直被用户指责为拖慢安卓系统运行速度不如IOS的根源。 2014年6月25日,Android L 正式亮相于召开的谷歌I/O大会,Android L 改动幅度较大,谷歌将直接删除Dalvik,代替它的是传闻已久的ART。 Dalvik和JVM有啥关系? 主要区别: Dalvik是基于寄存器的,而JVM是基于栈的。 Dalvik运行dex文件,而JVM运行java字节码 自Android 2.2开始,Dalvik支持JIT(just-in-time,即时编译技术)。 优化后的Dalvik较其他标准虚拟机存在一些不同特性: 1.占用更少空间 2.为简化翻译,常量池只使用32位索引 3.标准Java字节码实行8位堆栈指令,Dalvik使用16位指令集直接作用于局部变量。局部变量通常来自4位的“虚拟寄存器”区。这样减少了Dalvik的指令计数,提高了翻译速度。 当Android启动时,Dalvik VM 监视所有的程序(APK),并且创建依存关系树,为每个程序优化代码并存储在Dalvik缓存中。Dalvik第一次加载后会生成Cache文件,以提供下次快速加载,所以第一次会很慢。 Dalvik解释器采用预先算好的Goto地址,每个指令对内存的访问都在64字节边界上对齐。这样可以节省一个指令后进行查表的时间。为了强化功能, Dalvik还提供了快速翻译器(Fast Interpreter)。 一般来说,基于堆栈的机器必须使用指令才能从堆栈上的加载和操作数据,因此,相对基于寄存器的机器,它们需要更多的指令才能实现相同的性能。但是基于寄存器机器上的指令必须经过编码,因此,它们的指令往往更大。 Dalvik虚拟机既不支持Java SE 也不支持Java ME类库(如:Java类,AWT和Swing都不支持)。 相反,它使用自己建立的类库(Apache Harmony Java的一个子集)。 什么是ART? 即Android Runtime ART 的机制与 Dalvik 不同。在Dalvik下,应用每次运行的时候,字节码都需要通过即时编译器(just in time ,JIT)转换为机器码,这会拖慢应用的运行效率,而在ART 环境中,应用在第一次安装的时候,字节码就会预先编译成机器码,使其成为真正的本地应用。这个过程叫做预编译(AOT,Ahead-Of-Time)。这样的话,应用的启动(首次)和执行都会变得更加快速。 ART有什么优缺点呢? 优点: 1、系统性能的显著提升。 2、应用启动更快、运行更快、体验更流畅、触感反馈更及时。 3、更长的电池续航能力。 4、支持更低的硬件。 缺点: 1.机器码占用的存储空间更大,字节码变为机器码之后,可能会增加10%-20%(不过在应用包中,可执行的代码常常只是一部分。比如最新的 Google+ APK 是 28.3 MB,但是代码只有 6.9 MB。) 2.应用的安装时间会变长。 tips:现在智能手机大部分都可以让用户选择使用Dalvik还是ART模式。当然默认还是使用Dalvik模式。 用法:设置-辅助功能-开发者选项(开发人员工具)-选择运行环境(不同的手机设置的步骤可能不一样)。 Read On →