tt_mc

导航

随笔分类 -  Android面试复习知识点滴

anandroid activity的启动模式 《转》
摘要:在Android平台上可以将task简单的理解为幽多个Activity共同协作完成某项应用,而不管Activity具体属于哪个Application,通过下图可以更清晰的理解Application、task、Activity三者之间的关系Task和Activity相关 这段时间在做一个项目,发现对Task和Activity掌握的还是不牢固。把相关知识整理在这里,方便查阅,有几个Flag没看明白啥意思,也没测试出来效果如何。。。 android:allowTaskReparenting 用来标记Activity能否从启动的Task移动到有着affinity的Task(当这个Task进入到前台.. 阅读全文

posted @ 2012-01-31 14:34 tt_mc 阅读(3238) 评论(0) 推荐(0) 编辑

android中Invalidate和postInvalidate的区别
摘要:Android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用。 Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。 Android程序中可以使用的界面刷新方法有两种,分别是利用Handler和利用postInvalidate()来实现在线程中刷新界面。 1,利用invalidate()刷新界面 实例化一个Han... 阅读全文

posted @ 2012-01-30 15:08 tt_mc 阅读(54786) 评论(3) 推荐(5) 编辑

Android Looper和Handler
摘要:Message:消息,其中包含了消息ID,消息处理对象以及处理的数据等,由MessageQueue统一列队,终由Handler处理。 Handler:处理者,负责Message的发送及处理。使用Handler时,需要实现handleMessage(Message msg)方法来对特定的Message进行处理,例如更新UI等。 MessageQueue:消息队列,用来存放Handler发送过来的消息,并按照FIFO规则执行。当然,存放Message并非实际意义的保存,而是将Message以链表的方式串联起来的,等待Looper的抽取。 Looper:消息泵,不断地从MessageQueue... 阅读全文

posted @ 2012-01-30 14:09 tt_mc 阅读(49175) 评论(5) 推荐(14) 编辑

转载网上的面试题
摘要:Android面试题1.下列哪些语句关于内存回收的说明是正确的? (b ) A、程序员必须创建一个线程来释放内存B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 2.下面异常是属于Runtime Exception 的是(abcd)(多选) A、ArithmeticException B、IllegalArgumentException C、NullPointerException D、BufferUnderflowException 3.Math.round(11.5)等于多少(). Math.round(-11.5)等于 阅读全文

posted @ 2012-01-16 11:48 tt_mc 阅读(2020) 评论(1) 推荐(0) 编辑

Android 广播机制---BroadCast
摘要:http://www.cnblogs.com/TerryBlog/archive/2010/08/16/1801016.html在android下,要想接受广播信息,那么这个广播接收器就得我们自己来实现了,我们可以继承BroadcastReceiver,就可以有一个广播接受器了。有个接受器还不够,我们还得重写BroadcastReceiver里面的onReceiver方法,当来广播的时候我们要干什么,这就要我们自己来实现,不过我们可以搞一个信息防火墙。具体的代码:[代码]当实现了广播接收器,还要设置广播接收器接收广播信息的类型,这里是信息:android.provider.Telephony. 阅读全文

posted @ 2011-01-19 10:27 tt_mc 阅读(8154) 评论(3) 推荐(1) 编辑

Android UI 的更新
摘要:http://rayleung.javaeye.com/blog/435147调用Handler.post(Runnable r)方法,Runnable运行在UI所在线程,所以可以直接调用View.invalidate() 1 package com.Test.androidtest; 2 3 import android.app.Activity; 4 import android.content.Context; 5 import android.graphics.Canvas; 6 import android.graphics.Color; 7 import android.grap 阅读全文

posted @ 2011-01-18 13:36 tt_mc 阅读(1677) 评论(1) 推荐(0) 编辑

android activity
摘要:知识点一:activity的生命周期http://www.360doc.com/content/11/0111/13/5460632_85721880.shtml知识点二:后台的Activity被系统回收怎么办:onSaveInstanceState 当你的程序中某一个Activity A 在运行时中,主动或被动地运行另一个新的Activity B 这个时候A会执行publicvoidonSaveInstanceState(BundleoutState){ super.onSaveInstanceState(outState); outState.putLong("id",1234567890 阅读全文

posted @ 2011-01-17 12:23 tt_mc 阅读(1142) 评论(0) 推荐(0) 编辑

android AIDL 进程间通信
摘要:AIDL(android接口描述语言)是一个IDL语言,它可以生成一段代码,可以使在一个android设备上运行的两个进程使用内部通信进程进行交互。如果你需要在一个进程中(例如:在一个Activity中)访问另一个进程中(例如:一个Service)某个对象的方法,你就可以使用AIDL来生成这样的代码来伪装传递各种参数。要使用AIDL,Service需要以aidl文件的方式提供服务接口,AIDL工具将生成一个相应的java接口,并且在生成的服务接口中包含一个功能调用的stub服务桩类。Service的实现类需要去继承这个stub服务桩类。Service的onBind方法会返回实现类的对象。htt 阅读全文

posted @ 2011-01-14 16:08 tt_mc 阅读(1457) 评论(0) 推荐(0) 编辑

android 主件之 Service
摘要:[代码]一、Service的概念Service是Android程序中四大基础组件之一,它和Activity一样都是Context的子类,只不过它没有UI界面,是在后台运行的组件。二、Service的生命周期Service对象不能自己启动,需要通过某个Activity、Service或者其他Context对象来启动。启动的方法有两种,Context.startService和Context.bindService()。两种方式的生命周期是不同的,具体如下所示。使用context.startService() 启动Service是会会经历:context.startService() -onCr 阅读全文

posted @ 2011-01-11 16:31 tt_mc 阅读(1925) 评论(0) 推荐(0) 编辑