Welcome 微信登录

首页 / 操作系统 / Linux

Android线程模型

Android线程模型

当一个程序第一次启动的时候,Android会启动一个LINUX进程和一个主线程。默认的情况下,所有该程序的组件都将在该进程和线程中运行。同时,Android会为每个应用程序分配一个单独的LINUX用户。Android会劲量保留一个正在运行进程,只在内存资源出现不足时,Android会尝试停止一些进程从而释放足够的资源给其他新的进程使用, 也能保证用户正在访问的当前进程有足够的资源去及时的响应用户的事件。Android会 根据进程中运行的组件类别以及组件的状...
Android 多点触摸

Android 多点触摸

其实多点触摸并没有想象中的那么神奇。处理2个手指一般就已经够用,放上3个手指显得有点滑稽,依赖更多手指进行操作绝对不是一个好的主意。 理论上Android可以处理 多达256 个手指的触摸,大概只有章鱼哥能享受这种技术带来的便利。就编程人员来说,编写多点触摸和单点触摸的方式几乎一模一样。其奥秘在于MotionEvent不仅可以封装单点触摸的消息,也可以封装多点触摸的消息。 在处理单点触摸中,我们用到MotionEvent.ACTION_DOWN、ACTI...
Android Jamendo开源在线音乐播放器源码分析

Android Jamendo开源在线音乐播放器源码分析

本篇旨在分析网上很不错一个的在线音乐播放器源代码,通过分析这个源代码的结构和实现,一方面自己总结下,也与大家分享下Jamendo在线音乐播放器是一款Android平台在开源的在线音乐播放,该播放器的主要特色如下:1.界面美观,在jamendo播放器中精美的布局的随处可见,大量使用自定义控件和Adapter进行布局,这点可供初学者好好探讨研究2.构架清晰3.在代码中大量使用全局缓冲机制,如全局Application缓冲,图片缓冲等等。。4.数据传递使用JSO...
Android播放器为何暂停后继续播放却没有继续?

Android播放器为何暂停后继续播放却没有继续?

问题:最近在做音乐播放器这个模块,发现一个问题,在点击暂停按钮后,歌曲是暂停了,但是再一次点击播放按钮后,歌曲并没有继续播放,而是重新播放了。分析:如果真的是按照网上的例子做好判断并且API调用没有问题的话,那么下面这个就有99%的可能性了,那就是,你的播放器对象创建了多次。也就是说,我重新点击播放的时候,您老又创建了一个MediaPlayer实例。这当然不会继续播放啦。解决办法:请将获取实例写成单例模式,或者进行判空操作。...
Android触摸屏输入系统

Android触摸屏输入系统

1.触摸屏硬件原理1.1电阻触摸屏中断产生。触摸屏芯片根据触摸按下时电阻分压值发生变化而产生中断,该中断输入给CPU。产生的条件很简单,主要有VDD,GND信号即可。因此,我们在调试时,可以在没有驱动的情况下去测量中断脚,是否在有触摸时发生变化,以前验证模块的好坏。1.2电容触摸屏中断产生和电阻屏类似,只不过电容屏是由于人体接触时形成耦合电容,从而电流发生变化。电容屏的接口一般都会有一个nRST信号,便于驱动里对模块做复位操作。2.Linux驱动这里以i2...
Android应用实例之调节播放器音量——AudioManager的应用

Android应用实例之调节播放器音量——AudioManager的应用

实现的功能:调节播放器音量。实现的思路:1)用ProgressBar显示当前音量大小; 2)在Button单击事件中改变音量大小; 3)关键是用什么控制音量,百度了一下可以用AudioManager调节各类型声音的音量(比如:通话声音、铃声声音、音乐声音等),本文调节的是音乐的声音。关键技术点:MediaPlayer播放MP3音乐、ProgressBar应用、AudioManager应用参考及相关文章:http:...
ARM的伪指令总结

ARM的伪指令总结

1)ENTRY 设置程序默认入口点,一个程序可有多个ENTRY,但一个源文件最多只有一个ENTRY。2)EQU EQU伪操用于将数字常量、基于寄存器的值和程序中的标号定义为一个字符名称。语法格式: symbol EQU expression 其中,expression可以是一个寄存器的名字,也可是由程序标号、常量或者32位的地址常量组成的表达式。symbol是EQU伪操作所定义的字符名称。示例:COUNT EQU 0X1FFF3)EXTERN/IMPORT...
ARM寄存器总结

ARM寄存器总结

ARM处理器共有37个寄存器: 1) 31个通用寄存器,包括程序计数器(PC)。这些寄存器都是32位的; 2)6个状态寄存器。这些寄存器也是32位的,但是只使用了其中的12位。ARM通用寄存器 通用寄存器(R0-R15)可分为三类:不分组寄存器R0~R7;分组寄存器R8~R14;程序计数器PC。 1)不分组寄存器R0~R7 不分组寄存器R0~R7在所有处理器模式下,它们每一个都访问一样的32位寄存器。它们是真正的通用寄存器,没有体系结构所隐含的特殊用途。...
Fedora 14 编译LDD3的源码

Fedora 14 编译LDD3的源码

直接到example下的某个目录如scull下去make,会出现一堆错误说明一下,Fedora14带内核源码的头文件(或者yum install kernel-devel安装这些头文件),没带源码,但是对于编译ldd3里的的例子,这些头文件就足够了并且Makefile已经指定了正确的内核目录#KERNELDIR ?= /lib/modules/$(shell uname -r)/build所以出现的这些错误,仅仅是由内核版本不一致造成的ldd3的例子是2....
<< 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 >>