61阅读

偏和偏偏的区别-Androidfill_parent、wrap_content和match_parent的区别

发布时间:2017-08-10 所属栏目:message

一 : Androidfill_parent、wrap_content和match_parent的区别

3个属性都用来适应视图的水平或垂直大小,1个以视图的内容或尺寸为基础的布局比精确地指定视图范围更加方便。

1)fill_parent

设[www.61k.com]置1个构件的布局为fill_parent将强制性地使构件扩展,以填充布局单元内尽可能多的空间。这跟Windows控件的dockstyle属性大体一致。设置1个顶部布局或控件为fill_parent将强制性让它布满整个屏幕。

2) wrap_content

设置1个视图的尺寸为wrap_content将强制性地使视图扩展以显示全部内容。以TextView和ImageView控件为例,设置为wrap_content将完整显示其内部的文本和图像。布局元素将根据内容更改大小。设置1个视图的尺寸为wrap_content大体等同于设置Windows控件的Autosize属性为True。

3)match_parent
Android2.2中match_parent和fill_parent是1个意思.2个参数意思一样,match_parent更贴切,于是从2.2开始2个词都可以用。那么如果考虑低版本的使用情况你就需要用fill_parent了

二 : linux profile和environment区别

linux profile和environment区别

先将export LANG=zh_CN加入/etc/profile ,退出系统重新登录,登录提示显示英文。将/etc/profile 中的export LANG=zh_CN删除,将LNAG=zh_CN加入/etc/environment,退出系统重新登录,登录提示显示中文。用户环境建立的过程中总是先执行/etc/profile然后在读取/etc/environment。为什么会有如上所叙的不同呢?

应该是先执行/etc/environment,后执行/etc/profile。

/etc/environment是设置整个系统的环境,而/etc/profile是设置所有用户的环境,前者与登录用户无关,后者与登录用户有关。 www.2cto.com

系统应用程序的执行与用户环境可以是无关的,但与系统环境是相关的,所以当你登录时,你看到的提示信息,象日期、时间信息的显示格式与系统环境的LANG是相关的,缺省LANG=en_US,如果系统环境LANG=zh_CN,则提示信息是中文的,否则是英文的。

对于用户的SHELL初始化而言是先执行/etc/profile,再读取文件/etc/environment.对整个系统而言是先执行/etc/environment。这样理解正确吗?

/etc/enviroment --> /etc/profile --> $HOME/.profile -->$HOME/.env (如果存在)

/etc/profile 是所有用户的环境变量

/etc/enviroment是系统的环境变量

登陆系统时shell读取的顺序应该是 www.2cto.com

/etc/profile ->/etc/enviroment -->$HOME/.profile -->$HOME/.env

原因应该是jtw所说的用户环境和系统环境的区别了

如果同一个变量在用户环境(/etc/profile)和系统环境(/etc/environment)有不同的值那应该是以用户环境为准了。

(1)/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。

(2)/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。 www.2cto.com

(3)~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。

(4)~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。

(5) ~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。

(6)~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。

三 : Android Message和obtainMessage的区别

前几天需要实现一个以太网功能就看了以太网的源码部分,看见了源码部分在消息处理时,发现有一些不同的地方:

平时我在处理消息时:

1、首先创建Handler对象:

private Handler handler = new Handler(){

public void handleMessage(Message msg) {

switch (msg.what) {

case 0:

break;

default:

break;

}

};

};

2、然后是消息处理:

private void TestHandlerMessage(){

Message msg = new Message();

msg.what = 1;

handler.sendMessage(msg);

}

但是我看别人源码部分是是这样处理的:

1、首先创建Handler对象:

private Handler handler = new Handler(){

public void handleMessage(Message msg) {

switch (msg.what) {

case 0:

break;

default:

break;

}

};

};

2、然后是消息处理:

private void obtainMessageTest(){

Message msg = handler.obtainMessage();

msg.what = 1;

handler.sendMessage(msg);

}

通过比较我们会发现,这两种获取Message的实例的方法不一样,于是我看了源码,果然不一样:

查看obtainMessage()源码:

图1:

message Android Message和obtainMessage的区别

进入obtain方法:

图2:

message Android Message和obtainMessage的区别

再进入objtain方法:

图3:

message Android Message和obtainMessage的区别

进入Message方法:

图4:

message Android Message和obtainMessage的区别

总结:

上面的图3中obtain方法的注释中说得很明白:从整个Messge池中返回一个新的Message实例,在许多情况下使用它,因为它能避免分配新的对象

如果是这人的话,那么通过调用obtainMessage方法获取Message对象就能避免创建对象,从而减少内存的开销了。

扩展:obtainmessage / obtainmessage 参数 / message.obtain 方法

四 : admission和admittance的区别

admission和admittance的区别


admittance准许某人或某人获准进入(尤指私人场所);进入的权利eg.1.No admittance -- keep out!2.I was refused admittance to the house.admission进入或获准进入某建筑物、社团、学校等eg.1.How does one gain admission to the Buckingham Palace?2.Admission ( to the club ) is restricted to members only.3.Admission to British universities depends on examination results.除此之外admission还有"②公众场所入场费;门票钱③承认;招认;供认;坦白"的意思

本文标题:偏和偏偏的区别-Androidfill_parent、wrap_content和match_parent的区别
本文地址: http://www.61k.com/1067622.html

61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1