`
文章列表
1、说明       在这里,也是处于一个学习的角度去了解规则引擎,开发过程中,有很多引擎。其中有写引擎是自己从开发中了解到的,也有一些是从网上其他项目中学习到的。这其中的引擎包括图像处理引擎,环境引擎,实体 ...

java注释

    博客分类:
  • java
要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。 元注解:   元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解:    1.@Target,    2.@Retention,    3.@Documented,    4.@Inherited  这些类型和它们所支持的类在java.lang.annotation包中可以找到。下面我们看一下每个元注解的作用和相应分参 ...
1.用自己的Layout实现layout监听     public class SkinActivity implements Layout{ SkinLayoutInflater skinLayoutInflator; protected void onCreate(Bundle saveInstanceState){ skinLayoutInflator = new SkinLayoutInflater(); LayoutInflaterCompat.setFactory(getLayoutoutInflater().skinLayoutInflater); ...
原理: 1、找到引用的实例个数,主要是找activity实例个数; 2、消除掉弱引用,找到不能被GC的强引用;   1.查看hprof 查看package tree view,找到所有的activity,查看实例个数 2、更精细查找MAT 内存快照前后对比,可以比对结果。将1.hprof,2.hprof导出标准的到MAT中 泄露前比泄露后多了两个实例对象  3、通过上面的分析,可以得出是谁泄露了     如果不能通过GC进行回收,那么就确定内存泄露     a、选择Outgoing reference     b、排除所有的弱引用   4、内存溢出的常出错误 使用 ...
双进程守护   一个应用,拥有两个进程 RemoteService LocalService   重要代码   public void onCreate(){ //这里必须判断,否则会出现内存溢出 if(localBinder != null){ localBinder = new LocalServiceBinder(); } localServiceConnection = new LocalServiceConnection(); } public int onStartCommand(Intent intent ...

java线程安全

    博客分类:
  • java
       在java中,有一些线程安全操作的常识,在这里我进行总结一下:        1、java.util.concurrent.atomic包中包含了一些原子变量类,用于实现在数值和对象引用上的原子状态转换。通过用AtomicLong来代替long类型的计数器,能 ...

docker安装

[root@localhost ~]# yum -y install docker-io 启动并设置开机自动启动 [root@localhost ~]# service docker startStarting cgconfig service:                                [确定]Starting docker:                                      [确定][root@localhost ~]# chkconfig docker on 获取cnetos镜像 [root@localhost ~]# docker p ...
[root@localhost ~]# uname -a   ##旧版

灰度值计算

为了加快处理速度在图像处理算法中,往往需要把彩色图像转换为灰度图像。24为彩色图像每个像素用3个字节表示,每个字节对应着RGB分量的亮度。 当RGB分量值不同时,表现为彩色图像;当RGB分量相同时,变现为灰度图像: 一般来说,转换公式有3中。 (1)Gray(i,j)=[R(i,j)+G(i,j)+B(i,j)]/3; (2)Gray(i,j)=0.299*R(i,j)+0.587*G(i,j)+0.144*B(i,j); (3)Gray(i,j)=G(i,j);//从2可以看出G的分量比较大所以可以直接用它代替
一、在传感器使用中,我们常常需要对传感器数据进行各种整理,让应用获得更好的效果,以下介绍几种常用的简单处理方法:1.加权平滑:平滑和均衡传感器数据,减小偶然数据突变的影响;2.抽取突变:去除静态和缓慢变化的数据背景,强调瞬间变化;3.简单移动平均线:保留数据流最近的K个数据,取平均值; 二、加权平滑使用算法如下:(新值) = (旧值)*(1 - a) + X * a 其中a为设置的权值,X为最新数据,程序实现如下: float ALPHA = 0.1f; public void onSensorChanged(SensorEvent event){ x = event.values[ ...
EOS与通用的桌面OS相比较主要特点在于: 1,小内核,稳定可靠。 2,需要可装卸、可裁剪,以便能灵活应对各种不同的硬件平台。 3,面向应用,强实时性,可用于各种设备控制当中。     国际上常见的嵌入式操作系统大约 ...
  目的 基于过去值得时间序列预测将来值的常用技术。   内容 Sn+1=αTn+(1-α)Sn 其中,α是一个常数加权因子(0<α<1),用于确定距现在比较近或比较远的观测数据的相对权值。通过使用一个与过去的观测数据量无关的常数α,我们考虑了过去所有的值,观测值越远,具有的权值越小。为了更清楚的看到这一点,下面是上诉式子的展开式: Sn+1=αTn+(1-α
Objective Use SMS to send and receive raw data within your App. Issue When you want send information with the function SMSManager#sendTextMessage, the sent SMS is stored in the sent messages list, then it triggers a notification when the recipient received this message and the system store it in ...
转自:http://blog.csdn.net/tomatozq/article/details/44564889 想象下面画面描述中的情况,程序如何区分当前用户是想打开程序还是滑动界面?     在android中,触摸屏幕事件逻辑如下: 1.首先调用父容器的onInterceptTouchEvent方法。 2.如果该方法返回true,则说明该触屏事件被父容器拦截,触屏事件不会传递到子控件中去处理,直接调用容器的onTouchEvent方法。 3. 如果该方法返回false,则将触屏事件传递到子控件中去处理,如果子控件在onTouchEvent方法返回true,则说明触屏事件 ...
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/42238633 由于Android是为移动设备开发的操作系统,我们在开发应用程序的时候应当始终把内存问题充分考虑在内。虽然Android系统拥有垃圾自动回 收机制,但这并不意味着我们就可以完全忽略何时去分配或释放内存。即使我们全部按照上一篇文章中给出的编程建议来去编写程序,还是会很有可能出现内存泄露 或其它类型的内存问题。所以,唯一能够解决问题的办法,就是尝试去分析应用程序的内存使用情况,那么本篇文章就会教大家如何进行分析。如果你还没有看过前 面一篇文章,建议先去阅读 An ...
Global site tag (gtag.js) - Google Analytics