自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

朝闻道 夕死可矣

  • 博客(367)
  • 资源 (2)
  • 收藏
  • 关注

原创 2011-10-15 17:58:56

2011-10-15 17:58:56  Android系统的运行时库层代码是用C++来编写的,用C++来写代码最容易出错的地方就是指针了,  一旦使用不当,轻则造成内存泄漏,重则造成系统崩溃。不过系统为我们提供了智能指针,避免出现上述问题,  本文将系统

2011-10-17 15:13:38 900

原创 2011-10-15 17:30:12

2011-10-15 17:30:12 它主要就是在内部创建了一个Looper对象,注意,这个Looper对象是实现在JNI层的,它与上面Java层中的Looper是不一样的,不过它们是对应的,下面我们进一步分析消息循环的过程的时候,读者就会清楚地了解到它们之间的

2011-10-15 17:49:06 595

原创 2011-10-15 16:59:08

2011-10-15 16:59:08 这个函数做了两件事情,一是在主线程中创建了一个ActivityThread实例,二是通过Looper类使主线程进入消息循环中,这里我们只关注后者。 首先看Looper.prepareMainLooper函数的实现,这是一个静态成

2011-10-15 17:30:16 631

原创 2011-10-15 14:54:31

2011-10-15 14:54:31 Android应用程序是通过消息来驱动的,系统为每一个应用程序维护一个消息队例,应用程序的主线程不断地从这个消息队例中获取消息(Looper),然后对这些消息进行处理(Handler),这样就实现了通过消息来驱动应用程序的执

2011-10-15 17:00:34 516

原创 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 641

原创 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 561

原创 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 661

原创 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 536

原创 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 563

原创 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 566

原创 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 573

原创 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 5909

原创 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 602

原创 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 588

原创 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 576

原创 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 602

原创 2011-9-28 10:14:59

2011-9-28 10:14:59 即应用程序默认Activity的启动过程,一般来说,这种默认Activity是在新的进程和任务中启动的;本文将继续分析在应用程序内部启动非默认Activity的过程的源代码,这种非默认Activity一般是在原来的进程和任务中启动

2011-09-28 13:11:37 401

原创 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 671

原创 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 560

原创 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 431

原创 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 561

原创 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 483

原创 2011-9-27 21:43:19

2011-9-27 21:43:19在Android系统中,应用程序是由Launcher启动起来的,其实,Launcher本身也是一个应用程序,其它的应用程序安装后,就会Launcher的界面上出现一个相应的图标,点击这个图标时,Launcher就会对应的应用程序启动起来

2011-09-27 22:02:15 437

原创 2011-9-27 21:37:27

2011-9-27 21:37:27   从这个函数可以看出,决定一个Activity是在新的进程中启动还是在原有的进程中启动的因素有两个,一个是看这个Activity的process属性的值,    另一个是这个Activity所在的应用程序的uid。应用程序的UI

2011-09-27 21:43:05 386

原创 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 370

原创 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 362

原创 2011-9-27 21:15:52

2011-9-27 21:15:52   首先在Android源代码工程中创建一个Android应用程序工程,名字就称为Process吧。    关于如何获得Android源代码工程,请参考在Ubuntu上下载、编译和安装Android最新源代码一文;

2011-09-27 21:31:19 400

原创 2011-9-27 21:12:34

2011-9-27 21:12:34  前面我们在分析Activity启动过程的时候,看到同一个应用程序的Activity一般都是在同一个进程中启动,  事实上,Activity也可以像Service一样在新的进程中启动,这样,一个应用程序就可以跨越好几个进程了,

2011-09-27 21:15:38 390

原创 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 368

原创 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 443

原创 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 546

原创 2011-9-27 11:35:19

2011-9-27 11:35:19 10s的连接超时应该可以了未连接的情况下报警出错 注册成功后点图像有问题 状态改变需要另外进行处理 多点几次就错了问题?注册和停止注册 上传和停止上传 退出的时候一定要释放资源 m_hwnds && m

2011-09-27 20:47:29 479

原创 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 340

原创 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 385

原创 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 810

原创 2011-9-25 16:13:41

2011-9-25 16:13:41 还是使用菜单和状态提示 还是使用回调的值看一下能否注册上

2011-09-26 20:17:14 294

原创 2011-9-25 12:38:18

2011-9-25 12:38:18 修改服务器端 将通信模块用服务的方式来提供 先处理java端 对外提供一个参数设置接口 设置一个处理回调 能不能把SDK的封装做完之后然后将视频采集处理掉现在的问题就是说怎么回调?使用单例的方式实现 与服务

2011-09-25 16:13:32 299

原创 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 380

原创 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 663

原创 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 506

Inside_the_Java_Virtual_Machine

Inside_the_Java_Virtual_Machine

2012-05-17

mp4文件的详细结构

MP4 文件的详细结构,还不错。pdf格式的,有兴趣的可以看看。

2010-09-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除