银国超
码龄16年
关注
提问 私信
  • 博客:38,599
    38,599
    总访问量
  • 21
    原创
  • 1,220,294
    排名
  • 0
    粉丝
  • 0
    铁粉

个人简介:先后任职华为、Motorola Solutions,熟悉C/C++/Java等常用编程语言,对Linux操作系统比较了解,对SSH、Android等框架有一定的熟悉,对Java虚拟机、GC原理有一定的理解。有工具开发、存储解决方案、对讲机、移动互联网行业和项目经验。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
  • 加入CSDN时间: 2009-04-22
博客简介:

yin_guochao的博客

查看详细资料
个人成就
  • 获得6次点赞
  • 内容获得4次评论
  • 获得6次收藏
创作历程
  • 8篇
    2016年
  • 16篇
    2015年
成就勋章
TA的专栏
  • 学习思考总结
    19篇
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Android ViewGroup 中处理event

Case:     自定义一个ViewGroup,子View包含N个TextView。当用户拖动或者双指放大ViewGroup时,由ViewGroup处理。当用户点击到某个TextView时,TextView接管事件,做更新操作。Solution on Internet:    搜索了很久资料,主要有2份有价值的说明,一份来自android:http://developer.andro
原创
发布博客 2016.04.22 ·
480 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

linphone编译总结,有问题请大家在评论中提出

1. 准备Linux VM   2.1 安装Oracle Virtual Box,   2.2 安装ubuntu2. 获取源码   下载地址: http://www.linphone.org/technical-corner/linphone/downloads   android git 路径:git clone git://git.linphone.org/
原创
发布博客 2016.01.29 ·
1263 阅读 ·
0 点赞 ·
4 评论 ·
0 收藏

导入adt项目进入android studio报Error:(2) Error parsing XML: prefix must not be bound to one of the reserved

在导入Adt用ant编译的项目进入android studio后,编译报如下错误:Error:(2) Error parsing XML: prefix must not be bound to one of the reserved namespace names在弹出打开的文件中,可以看到如下提示:resources xmlns:ns1="http://www.w3.org
原创
发布博客 2016.01.28 ·
3065 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

linux macro time_after学习

学习的时候,介绍说time_after可以解决jiff value回环的问题,但怎么看,该函数都不能彻底解决啊。time_after定义:#define time_after(a, b) (((long)b - (long)a) 假设b =3, a = 2,那么说a after b呢?还是b after a呢?从逻辑上就满足不了。后来在bing上,搜索来很久,终于找到下面的链接,有人提
转载
发布博客 2016.01.24 ·
781 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Javah使用问题解决

转载:http://www.cnblogs.com/charley_yang/archive/2011/03/13/1983038.html
转载
发布博客 2016.01.21 ·
601 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Context理解

最近时常在想,CSDN上点击率最高,评论最多的博客,大概以说明性的为主。这可以理解,有问题,baidu search最后才会找到Blog。针对问题的博客,基本上是以说明性的为主的。但个人理解,如果技术要成长,思考是最重要的。否则,只能追随,更难创新。根据重要紧急四象限理论,思考属于重要不紧急的象限。人往往容易陷入紧急象限而忽略重要象限。因此,个人不大喜欢说明性博客,即使有 ,也只是作为记事性为主,
原创
发布博客 2016.01.09 ·
453 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Binder最关键的机制总结

花了很长时间学习android binder机制,百思不得其解,特别是Binder_WRITE_READ命令。在网上搜索了很多资料,没有人说清楚,也看了源码,更是一头雾水。通常情况,我们都会误解WRITEand READ的含义是,APP clinet write命令给Server端,然后Read出Server端返回的结果。其实这个理解是错误的。站在Binder的角度,只有souce和Tar
原创
发布博客 2016.01.08 ·
440 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Import adt 项目到android studio解决的问题总结

1. Error:(16, 0) Gradle DSL method not found: 'android()'Possible causes:The project 'JniTraining' may be using a version of Gradle that does not contain the method.Open Gradle wrapper fileThe bui
原创
发布博客 2016.01.07 ·
480 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

[GC系列] 不同强度reference 理解

GC在决定是否回收内存的时候,主要看该内存上的对象是否有被其它对象引用。为了更加细致地管理不同的引用。又搞出了下面4种引用类型:1. 强引用2. 弱(Soft)引用3,Weak 引用4. Panton引用5. Finalizer应用一开始很难理解,但从目的来分析,就比较容易了。站在GC的角度,希望确定不同的引用情况下,是否可以回收内存。比如强引用情况下,GC绝不
原创
发布博客 2015.12.29 ·
376 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【GC系列】android采用进程对应APP的理由

长期以来,心中有个疑问,为什么Android用进程而不是线程来管理APP。今天在看GC hand book的时候,突然有感想。我猜测可能包括如下部分理由:1. 单进程容易保证单个APP崩溃,不影响其他APP。2. 由于android使用了Java虚拟机,虚拟机有个很重要的工作就是垃圾回收。从Hand Book中理解,垃圾回收的空间范围越小,Pausetime 就会越小。这样用户就不容易感觉
原创
发布博客 2015.12.28 ·
600 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

[Java VM 系列] GC原理学习

前言:     以前一直在华为上班,说实话,估计没有哪个华为人有闲心写Blog,Blog更多属于IT工程师的专利。这两年从华为出来后,开始写blog。但从前面的blog的查看次数来看,目前大家最主要关心的还是Android方面的技术。没办法,估计现在人才缺口最大的属于移动互联网Android方面的了。   但技术都是逐步发展出来的,android不可能是孙悟空,凭空从石头里面蹦出来。如果分
原创
发布博客 2015.12.26 ·
404 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ADT debug as native application error log

When build is passed, then debug as native application, following errors displed on console:[2015-12-23 10:26:39 - JniTraining] Unknown Application ABI: [2015-12-23 10:26:39 - JniTraining] [2015
原创
发布博客 2015.12.23 ·
387 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C/C++异常处理阶段总结

所谓异常,即指令执行时,原计划的执行顺序必须改变。导致这种改变的原因包括:1,用户主动抛出异常 2. 指令运行时异常。要进行异常处理,第一步就是捕获异常。谁来捕获,可能是:1.程序本身 2. 操作系统。如果程序不捕获,操作系统也不捕获,系统肯定就崩溃了。程序本身只能捕获用户主动抛出的异常。这种用户主动抛出的异常,实际上是程序员实现知道的,所以实现准备了捕获代码。前面文章中的setjumper/
原创
发布博客 2015.12.18 ·
515 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【异常/错误处理系列】C++如何实现Try/Catch

为了实现异常处理,必须在异常发生的时候,能够找到异常处理函数。存放异常处理函数的地方,可以是栈,也可以是全局变量。如果是栈,需要unwinding栈,直到找到异常处理函数地址。如果是全局变量,可以直接跳转到异常处理函数,效率更高。   更多详细的介绍,可以参考如下网站:http://www.codeproject.com/Articles/2126/How-a-C-compiler-imple
原创
发布博客 2015.12.18 ·
404 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【异常/错误处理系列】C语言如何实现异常处理

不管是哪门编程语言,在coding过程中,我们都会遇到一个很头痛的问题,就是如何处理函数的返回值和异常。函数返回值传统的处理的方法是使用If/else。但对于有返回码的函数,需要写“无数”的if分支,代码很难看,也不好维护。异常处理更是头痛,一旦发生,只有查看resetlog,对于网络类异常,或者库中出现的异常,调用者也不知道如何处理。高级语言中,都有try/catch/finally的语法,用于异常处理。但是在C语言中,没有相应的支持。通过抛出异常,并让能处理该异常的上层函数处理,是比较符合自然逻辑的方法
翻译
发布博客 2015.12.18 ·
9877 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

C++ static 全局变量使用注意

今天在测试中发现,一个用C++编译的代码中,使用了一个static int xxx的全局变量。在一个CPP文件中赋值后,在另外一个CPP文件中取值发现取出的值不是设置的值。后来经过验证,发现两个CPP文件中使用了不同的地址。看来,在C++中,还是要多用面向对象的思想,全局变量最好封装在一个对象中。
原创
发布博客 2015.07.16 ·
1054 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

extern type variable name问题及解决方案

最近在处理C编译向C++编译转移的工作,遇到如下问题:在用C编译的时候,变量的定义在头文件中。由于C编译器支持这种情况,所以能够编译成功。但是当转移到用C++编译的时候,就提示编译错误。这时候,采用正规的方式来修改代码。在头文件中用extern声明全局变量。在C文件中,定义变量。C++编译通过。但是有个问题是,在应用程序链接的时候,这个工程用的是以前的lib库,意思就是上面
原创
发布博客 2015.06.02 ·
646 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

android studio 初次使用问题及方案集合

1. 如果从ADT项目导出导入到Android studio.    答:官方的方案是在ADT中导出一个gradle文件,然后在android studio中导入即可。但导入过程很慢,会让你误以为有问题。请耐心等到。2. Android studio用Gradle进行工程管理和编译。需要在两者之间进行版本匹配。目前Gradle的最新版本是1.2.3.3.Gradle dependenc
原创
发布博客 2015.05.21 ·
798 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Andorid5.0 bind service 异常和fail原因分析及解决办法

在android 5.0之前,按如下就可以打开和bind一个service:Intent intent = new Intent(IModem.class.getName());bindService(intent, mConnection, BIND_AUTO_CREATE).但是在5.0之后,会出现intent must explict异常。这是因为Intent没有十分明确指定打开
原创
发布博客 2015.05.20 ·
3348 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Android 应用进程生命周期及static的生命周期引发的问题及解决思路

这两天正在做一个既有Service又有前台进程APP的程序,遇到如下奇怪问题:1. 时常出现DeadObjectException异常。2. 前台进程在通过Service完成耗时任务后,进行UI更新,比如设置button的背景色,Clickable状态等。但这个时候,偶尔可以更新成功,偶尔不成功。
原创
发布博客 2015.05.19 ·
659 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多