- 博客(367)
- 资源 (2)
- 收藏
- 关注
原创 2011-10-15 17:58:56
2011-10-15 17:58:56 Android系统的运行时库层代码是用C++来编写的,用C++来写代码最容易出错的地方就是指针了, 一旦使用不当,轻则造成内存泄漏,重则造成系统崩溃。不过系统为我们提供了智能指针,避免出现上述问题, 本文将系统
2011-10-17 15:13:38
971
原创 2011-10-15 17:30:12
2011-10-15 17:30:12 它主要就是在内部创建了一个Looper对象,注意,这个Looper对象是实现在JNI层的,它与上面Java层中的Looper是不一样的,不过它们是对应的,下面我们进一步分析消息循环的过程的时候,读者就会清楚地了解到它们之间的
2011-10-15 17:49:06
659
原创 2011-10-15 16:59:08
2011-10-15 16:59:08 这个函数做了两件事情,一是在主线程中创建了一个ActivityThread实例,二是通过Looper类使主线程进入消息循环中,这里我们只关注后者。 首先看Looper.prepareMainLooper函数的实现,这是一个静态成
2011-10-15 17:30:16
693
原创 2011-10-15 14:54:31
2011-10-15 14:54:31 Android应用程序是通过消息来驱动的,系统为每一个应用程序维护一个消息队例,应用程序的主线程不断地从这个消息队例中获取消息(Looper),然后对这些消息进行处理(Handler),这样就实现了通过消息来驱动应用程序的执
2011-10-15 17:00:34
566
原创 2011-10-15 10:41:07
2011-10-15 10:41:07 To build the Android source files, you will need to use Linux PC. It's suggested that you use the most recent versio
2011-10-15 11:46:56
674
原创 2011-9-28 13:11:49
2011-9-28 13:11:49 Android之launcher在Android系统中,应用程序是由Launcher启动起来的,Launcher本身也是一个应用程序,其它的应用程序安装后,就会Launcher的界面上出现一个相应的图标,点击这个图标时,L
2011-10-15 11:45:45
595
原创 2011-10-11 1:11:14
2011-10-11 1:11:14 #define Q_TAILQ_ENTRY(type, qual) \struct {
2011-10-13 01:17:38
699
原创 2011-10-11 1:11:14
2011-10-11 1:11:14 static int64_t clock_freq;static void init_get_clock(void){ LARGE_INTEGER freq; int ret; ret = Que
2011-10-11 01:53:21
570
原创 2011-10-11 0:48:10
2011-10-11 0:48:10 goldfish_device_init(goldfish_pic, 0xff010000, 0x7f0000, 10, 22); 设备总线 goldfish_device_
2011-10-11 01:28:23
594
原创 2011-10-11 0:33:27
2011-10-11 0:33:27qemu_irq* goldfish_interrupt_init(uint32_t base, qemu_irq parent_irq, qemu_irq parent_fiq){ int ret; stru
2011-10-11 01:05:21
597
原创 2011-10-10 1:31:52
2011-10-10 1:31:52#define IO_MEM_SHIFT 3#define IO_MEM_RAM (0 #define IO_MEM_ROM (1 #define IO_MEM_UNA
2011-10-10 01:54:45
606
原创 2011-10-10 0:55:12
2011-10-10 0:55:12 ffmpeg编译及使用1 ffmpeg介绍ffmpeg是音视频的分离,转换,编码解码及流媒体的完全解决方案,其中最重要的就是libavcodec库。它被mplayer或者xine使用作为解
2011-10-10 01:10:00
5973
原创 2011-10-10 0:27:53
2011-10-10 0:27:53 /** This structure contains the data a format has to probe a file. */typedef struct AVProbeData { const char
2011-10-10 00:52:42
630
原创 2011-10-10 0:24:49
2011-10-10 0:24:49 libavformat/file.c文件的file协议:static int file_open(URLContext *h, const char *filename, int flags){ int
2011-10-10 00:37:04
620
原创 2011-10-10 0:22:22
2011-10-10 0:22:22 4. 上面调用了avcodec_init函数:void avcodec_init(void){ static int initialized = 0; if (init
2011-10-10 00:34:04
609
原创 2011-10-10 0:07:18
2011-10-10 0:07:18一. 调用av_register_all函数注册所有的格式和编码解码器.1.1 先调用avcodec_register_all函数注册所有的编码解码器.1. 下面列出与H264相关的注册:
2011-10-10 00:31:36
640
原创 2011-9-28 10:14:59
2011-9-28 10:14:59 即应用程序默认Activity的启动过程,一般来说,这种默认Activity是在新的进程和任务中启动的;本文将继续分析在应用程序内部启动非默认Activity的过程的源代码,这种非默认Activity一般是在原来的进程和任务中启动
2011-09-28 13:11:37
425
原创 2011-9-26 4:38:14
2011-9-26 4:38:14 Step 2. Process.start 这个函数定义在frameworks/base/core/java/android/os/Process
2011-09-27 23:21:37
704
原创 2011-9-26 4:17:47
2011-9-26 4:17:47 ActivityManagerService final ProcessRecord startProcessLocked(String processName, ApplicationInfo in
2011-09-27 23:17:34
588
原创 2011-9-27 22:08:16
2011-9-27 22:08:16 Step 5. ActivityManagerProxy.startActivity 这个函数定义在frameworks/base/core/java/android/app/ActivityM
2011-09-27 22:09:55
447
原创 2011-9-27 22:05:52
2011-9-27 22:05:52 Step 4. Instrumentation.execStartActivity 这个函数定义在frameworks/base/core/java/android/app/Instrumentation.jav
2011-09-27 22:08:03
584
原创 2011-9-27 22:02:12
2011-9-27 22:02:12 在Step 1中,我们看到,Launcher继承于Activity类,而Activity类实现了startActivity函数,因此,这里就调用了Activity.startActivity函数,
2011-09-27 22:05:39
510
原创 2011-9-27 21:43:19
2011-9-27 21:43:19在Android系统中,应用程序是由Launcher启动起来的,其实,Launcher本身也是一个应用程序,其它的应用程序安装后,就会Launcher的界面上出现一个相应的图标,点击这个图标时,Launcher就会对应的应用程序启动起来
2011-09-27 22:02:15
455
原创 2011-9-27 21:37:27
2011-9-27 21:37:27 从这个函数可以看出,决定一个Activity是在新的进程中启动还是在原有的进程中启动的因素有两个,一个是看这个Activity的process属性的值, 另一个是这个Activity所在的应用程序的uid。应用程序的UI
2011-09-27 21:43:05
409
原创 2011-9-27 21:33:17
2011-9-27 21:33:17 现在,我们如何来确认SubActivity是不是在新的进程中启动呢?Android源代码工程为我们准备了adb工具,可以查看模拟器上系统运行的状况,执行下面的命令查看:view plaincopy to clipboardprin
2011-09-27 21:37:14
400
原创 2011-9-27 21:31:25
2011-9-27 21:31:25有时需要让activity在后台运行,具体实现方法如下:在AndroidManifest.xml中,activity属性中增加: android:theme="@style/Backgroun
2011-09-27 21:33:04
386
原创 2011-9-27 21:15:52
2011-9-27 21:15:52 首先在Android源代码工程中创建一个Android应用程序工程,名字就称为Process吧。 关于如何获得Android源代码工程,请参考在Ubuntu上下载、编译和安装Android最新源代码一文;
2011-09-27 21:31:19
435
原创 2011-9-27 21:12:34
2011-9-27 21:12:34 前面我们在分析Activity启动过程的时候,看到同一个应用程序的Activity一般都是在同一个进程中启动, 事实上,Activity也可以像Service一样在新的进程中启动,这样,一个应用程序就可以跨越好几个进程了,
2011-09-27 21:15:38
420
原创 2011-9-27 21:12:09
2011-9-27 21:12:09,而这个节点有个visible属性,用来显示这个group是否可见。所以我们可以把两个menu文件写在一个文件里面,写成两个group,然后根据spinner的值不同,来控制group的可见即可。所以代码变成如下:public
2011-09-27 21:12:20
394
原创 2011-9-27 21:01:43
2011-9-27 21:01:43Activity的实例化与启动Activity实例化是由Android系统完成,在用户点击执行一个Activity或者另一个Activity需要这个Activity执行的时候,如果该Activity的实例不存在,Android系统都会实
2011-09-27 21:06:01
467
原创 2011-9-27 20:48:00
2011-9-27 20:48:00 在上图中,可以从三个阶段关注Activity的生命周期: ? 整个的生命周期,指的是onCreate(Bundle)和onDestroy()之间过程。Activity在onCreate()设置所有的“全局”状态,在onDestr
2011-09-27 21:01:30
572
原创 2011-9-27 11:35:19
2011-9-27 11:35:19 10s的连接超时应该可以了未连接的情况下报警出错 注册成功后点图像有问题 状态改变需要另外进行处理 多点几次就错了问题?注册和停止注册 上传和停止上传 退出的时候一定要释放资源 m_hwnds && m
2011-09-27 20:47:29
507
原创 2011-9-26 21:25:34
2011-9-26 21:25:34将上传注释掉 停止报警 功能没有 连接失败 E/ProxyInterface( 3298): The operation timed out 这个也使用单例 安全 让第一次连接的时候 套接字或插座(
2011-09-27 11:12:43
375
原创 2011-9-26 20:27:06
2011-9-26 20:27:06 络连接状态(3G/Wifi)及调用网络配置界面获取网络连接状态随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能。Android平台提供了Conne
2011-09-26 20:37:26
412
原创 2011-9-26 20:17:28
2011-9-26 20:17:28 public class SettingsHelper { private static final String TAG = "SettingsHelper"; private Context mContext;
2011-09-26 20:26:55
839
原创 2011-9-25 12:38:18
2011-9-25 12:38:18 修改服务器端 将通信模块用服务的方式来提供 先处理java端 对外提供一个参数设置接口 设置一个处理回调 能不能把SDK的封装做完之后然后将视频采集处理掉现在的问题就是说怎么回调?使用单例的方式实现 与服务
2011-09-25 16:13:32
323
原创 2011-9-23 12:05:13
2011-9-23 12:05:13现在就将TestCase的内容加上 能不能将所有的操作都加到服务里?怎么传的Surface?将摄像头操作封装一下 01.package com.camera.CameraPreview;03.import jav
2011-09-25 12:38:07
411
原创 2011-9-22 21:41:11
2011-9-22 21:41:11 从surfaceHolder 中获取/** * Abstract interface to someone holding a display surface. Allows you to * control the s
2011-09-23 11:59:23
696
原创 2011-9-22 15:41:21
2011-9-22 15:41:21 getPreferences 莫非有BUG?SurfaceHolder 的回调 surfaceCreated surfaceChangedsurfaceDestroyed /** * A cl
2011-09-22 21:40:41
526
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人