关闭

【并发编程】Binder运行机制的流程图

Binder工作在Linux层面,属于一个驱动,只是这个驱动不需要硬件,或者说其操作的硬件是基于一小段内存。从线程的角度来讲,Binder驱动代码运行在内核态,客户端程序调用Binder是通过系统调用完成的。参考资料http://blog.csdn.net/manoel/article/details/39556219...
阅读(1943) 评论(0)

【移动开发】AIDL中callback的实现

AIDL实现就可以在客户端中调用服务端的方法,并传递数据到服务端,也可以服务端传递数据过来;但是如果要从服务端去调用客户端的方法,那么就需要注册callback! 抄自和源码:http://zxl-ong.iteye.com/blog/736888 前面的文件讲到用AIDL来实现进程间的通信,但是只讲到客户端调用服务端的方法,现在来看看服务端对客户端方法的调用callback!服务端对客户端的调用...
阅读(4412) 评论(0)

【并发编程】AIDL关键字

oneway Oneway interfaces In early betas, the Android IPC was strictly synchronous. This means that service invocations had to wait for the return value of the remote method to arrive back to the caller. This is generally an advantage because the caller ca...
阅读(4317) 评论(0)

【问题汇总】ScrollView嵌套GridView的问题

前些日子在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当它们碰到一起的时候便会出问题,即GridView会显示不全。 解决办法,自定义一个GridView控件。[java] view plaincopypublic class MyGridView extends GridView {         public MyGridView(Contex...
阅读(1625) 评论(0)

【问题汇总】列表数组越界的问题

遇见了一个诡异的问题,ListView发生数组越界(偶尔会),程序崩溃。 错误信息如下: W/dalvikvm( 5176): threadid=1: thread exiting with uncaught exception (group=0x40015568) E/zhe800_android( 5176): Invalid index 2, size is 0 E/zhe800_android( 5176): java.lang.IndexOutOfBoundsE...
阅读(6100) 评论(1)

【移动开发】ViewPager缓存机制

1.    实现ViewPager的页面懒加载;在某些情况下,例如使用ViewPager查看多张大图,此时多张图片不能一次性载入,只有在浏览该页面时才载入(或者预先载入下一页面)页面的具体内容。2.    可控ViewPager缓存页面的数量。常见的情况:1.页面的总数是已知的,或者可以计算出来,每个页面占用的资源并不多并且需要经常使用这些页面。这是可以考虑将其常驻ViewPager而不去销毁(频...
阅读(19425) 评论(2)

【问题汇总】ScrollView嵌套ListView的问题

因产品的需求,需要在ScrollView中嵌套ListView来达到效果。众所周知,ScrollVIew和ListView都是可滑动的容器,嵌套使用一定会出现一些问题。 [html] view plaincopy在CODE上查看代码片派生到我的代码片 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" ...
阅读(6777) 评论(2)

【移动开发】startForeground()让服务保持前台级别

最近在使用android 4.1系统的时候,发现在手机休眠一段时间后(1-2小时),后台运行的服务被强行kill掉,有可能是系统回收内存的一种机制,要想避免这种情况可以通过startForeground让服务前台运行,当stopservice的时候通过stopForeground去掉。以下是android官方描述:Running a Service in the ForegroundA foreg...
阅读(7235) 评论(1)

【移动开发】Context类bindService()参数

bindService()的函数原型,代码如下:...
阅读(12508) 评论(3)

【移动开发】Service类onStartCommand()返回值和参数

Android开发的过程中,每次调用startService(Intent)的时候,都会调用该Service对象的onStartCommand(Intent,int,int)方法,然后在onStartCommand方法中做一些处理。然后我们注意到这个函数有一个int的返回值,这篇文章就是简单地讲讲int返回值的作用。从Android官方文档中,我们知道onStartCommand有4种返回值:ST...
阅读(9889) 评论(1)

【移动开发】SparseArray替代HashMap

SparseArray是android里为这样的Hashmap而专门写的class,目的是提高效率,其核心是折半查找函数(binarySearch)[java] view plaincopyprivate static int binarySearch(int[] a, int start, int len, int key) {      int high = start + len, low ...
阅读(1275) 评论(0)

【移动开发】一张图搞定Activity和Fragment的生命周期

...
阅读(1391) 评论(0)

【移动开发】plurals

不同的语言对数量的语法规定有不同的规则。在英语里面,例如,1是特例。我们会直接写1book,而针对一个以上的我们会在book后加复数形式。这种区别对单数和复数来说是很普遍的,但是其他的语言做了更好的区分。对Android来说,它支持zero,one,two,few,many,和other。     对一个给定的语言和数字来说,决定使用哪一个case的规则是很复杂的,所以android提供了方法ge...
阅读(1186) 评论(0)

【移动开发】targetSdkVersion的作用

在AndroidMenifest.xml中,常常会有下面的语句:         在project.properties中,会看到下面的语句: target=android-10 如果是使用Eclipse的话,还可能会看到这样的警告:Attribute minSdkVersion (4) is lower than the project target API level (10)        ...
阅读(7597) 评论(0)

【移动开发】Handler的sendMessageAtTime()和sendEmptyMessageDelay()区别

函数原型public boolean sendMessageAtTime (Message msg, long uptimeMillis)Message  //待发送消息uptimeMillis   //sendMessageAtTime,即在确定的时间发送这个消息,这个时间通过这个参数指定这个时间由uptimeMillis传递 这两句是等效的,都是延时1秒将消息加入列队msgHandle.sen...
阅读(6030) 评论(0)
181条 共13页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:2633848次
    • 积分:15496
    • 等级:
    • 排名:第778名
    • 原创:90篇
    • 转载:0篇
    • 译文:91篇
    • 评论:161条
    博客专栏