一些安卓学习过程中的小知识

1、今天又吃了个亏,明明线性布局的LinearLayout,我知道是从上到下排列的,但是!!!!!!我却没有注意我的
        第一个控件ListView的宽高全特么是适应父窗体?exm??喵了个咪
        android:visibility="gone"   将listview完全隐藏,不保存空间位置,但是invisible就是隐藏元素保留空间位置

2、有三个值 visibility  One of VISIBLE, INVISIBLE, or GONE. 
同上
常量值为0,意思是可见的 
常量值为4,意思是不可见的 
常量值为8,意思是不可见的,而且不占用布局空间

3.以前不知道的fill_parent与match_parent有什么不一样,现在知道了

效果都是一样,只是fill_parent是早期sdk版本使用的名称罢了。只是不知道为什么sdk更新了之后却没有删除fill_parent。大概是因为我用的是,ec,而ec是被抛弃的,,233

4.java中最简单的LRU算法实现,就是利用jdk的LinkedHashMap,覆写其中的removeEldestEntry(Map.Entry)方法即可

5、安卓项目打包过程中会生成一个.apk文件,这个文件也就是用户要安装的程序文件了,在生成apk的时候,会先通过安卓的一个工具将所有的代码生成.class的字节码文件放在一个.dex后缀的文件下面,然后这个工具是sdk-->>build-tools-->>dx.bat,有的.class文件的命名中间会有一个$符号,这个表示他是一个内部类,例如:R$color.class,表示R类中的color类;会生成一个resources.arsc的文件,用来描述那些具有id值的资源的配置信息,相当于一个资源索引表,这里的id值是指R文件中的变量的值,0x7f0.......这样形式的;一个uncompiled Resources:未编译的资源文件(raw、asserTs目录下的文件和drawable下面的图片文件);一个聪明批了的 Resources:编译的资源文件(其他的资源文件均为文本格式的xml文件,他们在打包过程中,会被编译成二进制的xml文件)。这样的好处是:缩小的体积,也避免额一次转换。和一个清单文件。

程序打包流程图:

 

一些安卓学习过程中的小知识

生成签名文件与导出APK:我觉得这个视频就讲的很好。http://www.51zxw.net/show.aspx?id=33245&cid=445

签名APK的命令:
jarsigner -verbose -keystore E:/ppj.keystore -signedjar E:/ex50VideoTestPpj2.apk E:/ex50VideoTestPpj.apk ppj
jarsigner:            一个.exe,地址在C:\Program Files\Java\jdk1.8.0_131\bin下面
E:/ppj.keystore:        要给apk签名的**
-signedjar:            签名的命令
E:/ex50VideoTestPpj2.apk:    生成签名之后的apk
E:/ex50VideoTestPpj.apk:    生成签名之前的apk
ppj:                签名的**库