- 博客(19)
- 资源 (10)
- 收藏
- 关注
原创 SurfaceView做帧动画
前提条件我就不说了,相信能查找这个主题的都不是一般的Android开发者,我只讲核心的部分和该文章所能解决的问题。 之前搜索过很多文章,大都不理想,无法完美的解决自己的需求,然后自己根据资料整理了一下,可以说非常完美。 解决的问题: 1、帧特别多,如果同时decode做动画可能会出现OOM的情况 2、CPU、内存占用过高 3、可以多次做重复做动画 4、代码精简易懂效率高 废话不...
2018-08-01 16:29:00
1901
2
原创 Google Nexus5关于Android 6.0源码的同步,编译和烧写
关于Ubuntu下Android开发的环境搭建这里就不在详述啦,下面所提到的主要是一些关键点, repo工具的下载和使用 mkdir ~/bin PATH=~/bin:$PATH curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo 如果你
2015-11-19 17:15:56
2342
原创 Android之翻转静音
在Android系统框架里实现翻转静音; 利用java的观察者模式可以轻松实现来电翻转静音; 服务类程序代码: package com.example.smartcalltest; import android.app.Service; import android.content.Context; import android.content.Intent; import android
2014-01-28 16:39:37
1453
原创 Android之广播
最简单的一种广播发送和接受实现,在代码中注册, package com.example.broadcasttest; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; impor
2014-01-28 15:32:27
590
原创 Socket编程之I/O复用
I/O复用 在上一章中看到TCP客户端同时处理两个输入:标准输入和TCP套字节。我们遇到的问题是客户阻塞于(标准输入上的)fgets()调用,而服务器进程退出。服务器TCP虽能正确地客户TCP发了一个FIN,但客户进程正阻塞于从标准输入读操作,它直到对套字节调用read()时才能觉察到连接关闭,这可能已经过了很长时间。我们需要这样的能力:如果一个或多个I/O条件满足(例如,输入已准备好,或者文件
2013-08-28 21:19:26
779
原创 进程间通信—Socket编程
linux下Socket编程的原理大家参考下面这篇博客: http://blog.youkuaiyun.com/xiaoweige207/article/details/6211577 我就不多介绍了,下面这是一个小例子。 客户端代码: #include #include #include #include #include #include #include #includ
2013-08-27 22:06:54
722
原创 进程间通信—管道
进程间通信的方式: (1)管道:一种两个进程间进行单向通信的机制,半双工的通信方式。数据只能单方向流动, 而且只能在具有亲缘关系(父子进程、兄弟进程)的进程间使用。 从通信的双方信息交互的方式分三种基本模式: 单工通信(单向通信) 只有一个方向的通信而没有反方向的交互(信息流是单方向的),发送端和接收端的身份是固定的; 半双工通信(双向交替通信)双方均可以发送、接收信息,但是同一时刻里
2013-08-27 21:49:51
712
原创 进程间通信—消息队列(二)
实例:模拟经纬度的收发工作。(采用消息队列的方式处理) 项目中涉及2个不相关进程A和进程B 假设你是项目的进程A编写者,你负责把进程A的经纬度发送到 第三方导航软件中导航定位(进程B)进程A每2秒发送一次经纬度, 进程B每3秒接受一次经纬度并打印显示。 上海默认是北纬东经 数据体(body)协议: int header;//1000 //12
2013-08-24 21:26:15
542
原创 进程间通信—消息队列(一)
消息队列基本概念: 消息队列是系统内核地址空间中的一个内部的链表。消息可以按照顺序发送到队列中, 也可以以几种不同的方式从队列中读取。每一个消息队列用一个唯一的IPC标识符表示。 我们来实现一个简单的消息队列的工具,用于创建消息队列、发送、读取消息、 改变权限以及删除消息队列。 综合实例:msgtool #include #include #include #include #
2013-08-24 21:07:12
589
原创 进程间通信—信号量
IPC标识符和关键字: 在终端输入ipcs,可以看到目前系统中所有的IPC信息: 第一列的key就是IPC的关键字,第二列是IPC的标识符。 ftok()函数用于获得一个IPC的关键字,其函数原型是: key_t ftok(const char *pathname,int proj_id); 下面是一个信号量的综合实例: #include #include #in
2013-08-22 22:17:19
588
原创 进程间通信—信号(三)
下面是安装两个信号的例子: 信号例子: 进程A:安装信号SIGUSR1,SIGUSR2 收到SIGUSR1:启动火车票系统(这里可以是任一一个程序); 收到SIGUSR2:重启系统(打印自己的PID); 进程B:接收用户键盘输入 输入: start: 发送SIGUSR1给进程A restart:发送SIGUSR2给进程A bye:退出进程 提示: 1、用2个不相关的
2013-08-22 21:43:01
726
原创 进程间通信—信号(二)
一、模拟获取GPS数据,然后1s更新到显示屏。 进程A:每秒打开文件gps.dat写date时间到文件,打开写前清空下数据, 写完即发送信号SIGUSR1到进程B。 进程B:收到信号SIGUSR1,只读方式打开文件gps.dat,把读到的数据打印到显示屏。 提示:用system(“date > gps.dat”)写数据重定向到文件。 #include #include #
2013-08-22 21:15:23
584
原创 进程间通信—信号(一)
信号机制是linux系统中最为古老的进程之间的通信机制。 What:信号是一种Event时间,原理都是中断机制,是一种异步处理,是一种通知。 How to do: 1、分析信号的发送方和接收方是谁 2、在接受方做好信号的安装注册。(主要是回调函数) 3、发送方触发信号的event事件发生了,驱动了在接收方应急准备好的回调函数。 最常用的发送信号的系统函数是kill(),rise(),a
2013-08-22 21:04:28
553
原创 基本文件I/O
linux编程的一个小练习,j基本文件I/O的操作; 问题:从src.txt中读出数据 ,清除每末尾的*,整理后写入到dst.txt中 必须用read,write去实现,写成小函数,可以读取一行以\n为标识符 原数据: 123**45***** 78**** 整理后的数据: 123**45 78 #include #include #include
2013-08-22 20:32:42
533
原创 CP的实现
linux下一个简单的文件复制程序,cp命令的实现, #include #include #include #include #include #include int main(int argc, char **argv) { int fd_read; int fd_write; char buf[128]={0}; int bytes_read,bytes_write;
2013-08-20 23:59:07
588
原创 线程同步-互斥锁
在linux下,当我们需要控制对共享资源的存取的时候,可以用一种简单的加锁的方法来控制。 所谓的共享资源分为三点: 1、全局变量 2、文件操作 3、某些硬件端口 下面这个例子是对文件的操作进行加锁, 每两秒写入字符1到文件,然后读出文件中字符的长度,每次的读文件必须在写文件之后进行: #include #include #include #include
2013-08-20 22:52:01
500
C语言版火车票订票系统
2013-08-18
C语言版的双截龙
2013-08-24
百度手环源码
2015-03-26
C语言版学生管理系统
2013-08-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人