- 浏览: 154210 次
最新评论
文章列表
规则引擎的使用与实践-介绍与说明
- 博客分类:
- java
1、说明
在这里,也是处于一个学习的角度去了解规则引擎,开发过程中,有很多引擎。其中有写引擎是自己从开发中了解到的,也有一些是从网上其他项目中学习到的。这其中的引擎包括图像处理引擎,环境引擎,实体 ...
要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。
元注解:
元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解: 1.@Target, 2.@Retention, 3.@Documented, 4.@Inherited 这些类型和它们所支持的类在java.lang.annotation包中可以找到。下面我们看一下每个元注解的作用和相应分参 ...
实现APP换肤功能
- 博客分类:
- java-android
1.用自己的Layout实现layout监听
public class SkinActivity implements Layout{
SkinLayoutInflater skinLayoutInflator;
protected void onCreate(Bundle saveInstanceState){
skinLayoutInflator = new SkinLayoutInflater();
LayoutInflaterCompat.setFactory(getLayoutoutInflater().skinLayoutInflater);
...
android内存泄露
- 博客分类:
- java-android
原理:
1、找到引用的实例个数,主要是找activity实例个数;
2、消除掉弱引用,找到不能被GC的强引用;
1.查看hprof
查看package tree view,找到所有的activity,查看实例个数
2、更精细查找MAT
内存快照前后对比,可以比对结果。将1.hprof,2.hprof导出标准的到MAT中
泄露前比泄露后多了两个实例对象
3、通过上面的分析,可以得出是谁泄露了
如果不能通过GC进行回收,那么就确定内存泄露
a、选择Outgoing reference
b、排除所有的弱引用
4、内存溢出的常出错误
使用 ...
android双进程守护
- 博客分类:
- java-android
双进程守护
一个应用,拥有两个进程
RemoteService
LocalService
重要代码
public void onCreate(){
//这里必须判断,否则会出现内存溢出
if(localBinder != null){
localBinder = new LocalServiceBinder();
}
localServiceConnection = new LocalServiceConnection();
}
public int onStartCommand(Intent intent ...
在java中,有一些线程安全操作的常识,在这里我进行总结一下:
1、java.util.concurrent.atomic包中包含了一些原子变量类,用于实现在数值和对象引用上的原子状态转换。通过用AtomicLong来代替long类型的计数器,能 ...
[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 ##旧版
灰度值计算
- 博客分类:
- java-opencv
为了加快处理速度在图像处理算法中,往往需要把彩色图像转换为灰度图像。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-α
【转】数据短信
- 博客分类:
- java-android
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 ...