平时小总结(2)

1:实现Runnable接口比继承Thread的优势

(1)适合多个相同程序代码的线程去处理同一个资源

(2)可以避免java中的单继承的限制

(3)增加程序的健壮性,代码可以被多个线程共享,代码和数据相对的独立

2:thread的几个方法

(1)join():当前线程邀请调用方法的线程优先执行,在调用该方法的线程执行完毕之前不会执行当前线程。

(2)yield():让当前执行的线程取消执行的动作,退回到准备线程中去。

(3)sleep():当前线程休眠,但仍然拥有线程内资源的锁,没有释放。

(4)wait():和上一个相同都是让线程休眠一段时间,但是该方法释放掉当前的对象,并不在拥有对象锁。

3:在动态布局之中,对控件View添加属性时要对应的参数Params为父类控件的参数类型,因为是添加到父类容器的下面。

当布局文件中的一个控件位置发生变化的时候,其他的控件位置则也会发生变化,即对原布局文件中一个控件的位置发生了相对的变化,其他的子控件也会发生变化。要对其他的控件也要重新的动态设置位置。用layoutParams.addRule();方法来添加控件的位置。可以相对于父类控件也可以相对于兄弟控件。

4:ViewPager在切换界面的时候有很好的效果,但其内容为通过xml实现的view,数据只有在初始的时候会初始化一次,在以后不容易改变数据,所以用fragment的话作为viewPager中的子控件则会好的很多。因为Fragment自身就有自己的声明周期,可以灵活的对数据进行控制。对应的viewpager的适配器则选择继承PagerAdapter的FragmentPageAdapter,实现其中的getItem()方法,该适配器适合界面比较简单,和界面比较少的情况,以为该适配器会将所有的数据一直保存,这样数据庞大的时候消耗过多的内存。而FragmentStatePagerAdapter则是只保留当前的数据。(有的时候通过Adapter的notifyDataChanged()方法调用的时候并不会改变Fragment中的数据,这是因为当Fragment生成之后则会保存在FragmentManager中,instantiateItem()方法会负责监测碎片是否存在,所以要对这个方法进行重写)

5:在开发百度地图的时候会产生一个非静态的动态库问题,这是因为要在libs文件夹下面添加百度的包并且要创建一个armebai文件夹并将百度提供的libBMapApiEngine_v1_3_3.so这个动态库拷贝到这个文件夹下面,这个问题就可以得到解决。

6:Application作为一个程序中对应Activity和Service之类的上下文对象,会在程序启动的时候执行其对应的oncreate()方法,一些全局性的数据可以放到这个类的下面,但是要在AndroidManifast.xml中的<application>中注册你继承自Application类的名字。这样程序才可以找到这个Application;

7:Activity属性下面的LanuchMode的四种启动模式

(1)singleStandard Activity的标准启动模式,只要启动就会重新产生一个新的Activity.

(2)singleTop 如果当前的Activity在Activity栈的顶端,然后再次的创建这个Activity时,则不会产生新的对象,如果这个对象不在Activity栈的顶端时则会重新创建一个Activity.

(3)singleTask 这个Activity在Activity栈中时唯一的存在,如果重新创建这个Activity时已经有这个Activity则不会重新创建,并将对应栈中在此Activity之上的所有Activity清空出栈。对于 SingleTask模式的Activity,它在堆栈底端,其上方可以有其他Activity被创建, 但是,如果发给该Activity的Intent对象到来时该Activity不在堆栈顶端,那么该Intent对象将被丢弃,但是界面还是会切换到当前的Activity。

(4)singleInstance 对于 singleInstance模式的Activity, 任务的Activity堆栈中如果有这样的Activity,那它将是堆栈中的唯一的 Activity, 当前任务收到的 Intent 都由它处理, 由它开启的其他 Activity 将在其他任务中被启动;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值