- 博客(41)
- 资源 (8)
- 收藏
- 关注
原创 视频录制中尺寸及方向问题深入剖析
最近在处理视频录制的一些东西,趁闲暇时间把琐碎的东西整理下供后续用到查看说到视频录制,现将整体流程图献上,让我们对视频录制有个整体的了解。在整个流程中最为繁琐的点要属尺寸及方向,难点在预览及编码处理,本讲主要解析尺寸和方向。谈到尺寸,脑袋里面一定要以下几个尺寸概念有所了解:预览帧尺寸 拍摄帧尺寸 视频编码尺寸 显示预览控制尺寸预览帧尺寸每台手机都支持很多预览帧尺寸...
2019-09-20 00:40:39 1165
原创 FFMPEG入门篇
基础库说明命令格式转码在转码过程中,ffmpeg调用demuxers将inputs分解成已编码数据包,decoder将已编码数据包解码成非压缩的帧数据,接着再经过一系列filter处理,处理完由encoder进行压缩编码,最后再经过muxer进行合成输出output值得注意的是:ffmpeg最重要的要属Filter,Filter主要由FilterChain和Filter...
2019-09-06 00:24:52 259
原创 NDK:动态注册方法
#include <jni.h>#include <string>extern "C" JNIEXPORT jstringJNIEXPORT JNICALL stringFromJNI( JNIEnv *env, jobject /* this */) { std::string hello = "Hello from ...
2018-11-08 10:43:21 718
原创 设计ORM系列(1)
如何对SQL语句使用起来特别爽,或相对于对象操作而言,更喜欢sql语句,那后面就可以不要看了其实ORM就是将数据库中的表映射成一个对象实体A,对A进行操作,就相对对数据库进行操作,完成这个过程,其实只要你好好想想你是怎么操作数据库的,然后将类似的行为换成对象即可。要设计一个ORM,首先我们需要以下几步:step1:先准备好一个对象A和数据库中某张表对应T(A->T)step2:我们知道当你创...
2018-05-31 15:40:27 603
原创 android hook详解
在谈hook之前,我们先谈下代理。代理对学编程的人来说,应该非常熟悉,毕竟代理模式还是很常用的。考虑到真有人不知道代理模式,我们先从静态代理开始讲解。先写个接口:public interface Animal { void eat(); int feet();}实现该接口:public class Cat implements Animal{ @Override ...
2018-05-22 21:11:19 2967
原创 android琐事录
1.修改java类的final属性,使其可以继承如:final class A{}现在如果想让A能被B继承,注意A是第三方jar中的,你不能修改源码,此时可以这样处理:Class aClass = A.class;Class classClass = Class.class;Field accessFlagsFiled = classClass.getDeclaredField("access...
2018-05-22 15:17:30 300
原创 安装ipython遇坑记
问题1:Found existing installation: six 1.4.1 DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that un...
2018-03-29 10:58:40 1746 1
原创 Matrix变换
具体可以参考内容每个像素点可以表示为(x,y,1) 1表示z轴,大于1则表示远,小于1表示近,要使用matrix去变更一个像素,就需要将matrix去pre或post它
2018-03-25 17:33:09 233
原创 密码那点事情
在了解密码相关事情的时候,不得不谈论三种人:接收者,发送者,窃听者就是考虑发送者和接收者发送的信息可能被窃听者截获,因此就需要对内容进行加密,由此上图就变成下面这样。谈到加密,那我们就要思考:如何确保发送内容的安全性(机密性)上图中我们采用了同一个密钥对消息进行加密和解密,尽管该场景可以满足加密和解密需求,但是发送者和接收者如何确保保证它们之间密钥一样,是发送者传递给接收者吗?那怎么将密钥从发送者...
2018-03-11 17:08:26 328
转载 plat 使用WIFI连接android进行调试和adb操作
本人需要wifi连接android进行调试的原因主要是要经常用到IDA pro进行调试,但手头有的IDA Pro版本只是windows的,开发可能更多用Mac OS X了,来回拔插、调试很不方便,所以wifi连了之后,可以省事儿很多。设置方法源于此贴,具体如下: 1. 手机端开启adb tcp连接端口:/$setprop service.adb.tcp.port 555
2016-08-05 11:40:09 470
转载 Android系统性能调优工具介绍
在软件开发过程中,想必很多读者都遇到过系统性能问题。而解决系统性能问题的几个主要步骤是:测评:对系统进行大量有针对性的测试,以得到合适的测试数据。分析系统瓶颈:分析测试数据,找到其中的hotspot(热点,即bottleneck)。性能优化:对hotspot相关的代码进行优化。由上述步骤可知,性能优化的目标对象是hotspot。如果找到的hotspot并非真正的热点,则性能优化的结
2016-03-31 17:11:38 430
原创 Handler使用的那些事儿
对任何有开发经验的童鞋,对Handler肯定是如雷贯耳,使用也必定非常熟练,当现在我还是想对其来个梳理,总结下常见的疑问: 1.常听人说mHandler.obtainMessage(what,obj).sendToTarget()要比{Message msg = new Message;msg.what= 1;msg.obj = obj;mHandler.sendMessage(msg)}要简
2016-03-24 11:14:27 700
原创 IPC方法(综述篇)
在android开发中一个App很少情况下是只具备一个进程的,因此多个进程存活在同一个App中非常正常,这对减少app的pss也很有帮助。出现多个进程,也不得不谈及跨进程通信,目前主要有以下几种跨进程通信方式:1.Bundle方式,该方式一般用于Service,Activity,BroadcastReceiver组件间通信,当进程A的ActivityA,想传个东西给进程B的ActivityB,
2016-03-17 18:09:12 1108
原创 BindService引发的demo
Demo的环境: 进程1: ActivityA ,进程2:ServiceA,进程3:ActivityB说明:进程1:ActivityA,表示ActivityA在进程1中,后续类推1.ActivityA 以bindService方式启动ServiceA, 按Back退出ActivityA或在ActivityA中主动unbindService ServiceA,此时,ServiceB调用unB
2016-03-17 17:41:37 777
原创 LruCache中sizeof的含义
对一些常用的数据,为了重复去计算,有时候需要做缓存来提高应用性能。一般情况下我们通常会采用Map或SparseArray等键值对数据结构并结合SoftReference或WeakRefenerence来存储,但对网络图片而言,我们常采用LruCache来做缓存(注,此结构也可以做一般数据的缓存),其基本原理就是基于最近最少使用策略来舍弃数据来避免缓存内存过大。具体使用可以参考LruCache机制解
2016-02-17 10:45:21 2900
原创 手机获取root权限后procrank无法执行或can't find procrank
最近在研究android性能分析时需要考虑PSS,USS指标,网上的资料都是通过adb shell procrank | grep 即可获取该进程的Vss,Rss,Pss和Uss。但该命令通常需要手机获取root权限,其实root权限通过KingRoot,刷机精灵等软件均可获取。当你觉得条件均具备的时候,你在命名窗口输入adb shell procrank时要么显示无法找到该命令,要么就是显
2016-02-16 20:12:59 3972 1
原创 浅谈跨进程传递的数据
谈及android跨进程数据传递,脑袋中不乏浮现出ContentProvider、AIDL、 Messenger、Intent等,对,的确这些都可以实现,但今天我们不谈这些,仅注重于数据。跨进程传递数据,常需要序列化操作,也许初次接触序列化这个名词,可能大家会觉得很抽象,其实,可以把其想象成一个吹气球的过程,序列化就是把一个吹好的气球放掉气,反序列化就是把一个放了气的气球重新吹起来,这样一说,是不
2016-01-25 18:36:17 1031
原创 CharSequence类型数据跨进程传递
涉及到多进程通信时,常需要对相关类型的数据进程传递,常用方法为Intent或AIDL,且传递的对象基本要序列化(基本类型以及部分集合例外)。通过google的android开发文档,可知AIDL传递的数据主要支持以下几种类型:All primitive types in the Java programming language (such as int, long, char, bo
2016-01-22 17:35:17 1241
原创 JAVA集合使用总结
常用的集合包主要包括Collection和Map两个接口,Collection主要用于多个单对象,Map用于存放Key-Value形式的键值对现将其总结如下,便于查阅:Collection:非线程安全:ArrayList、LinkedList、Stack、HashSet、TreeSet线程安全:Vector、CopyOnWriteSet、CopyOnWriteArrayLi
2016-01-15 18:56:19 1091
原创 内存泄露分析之MAT工具使用
MAT工具使用理解相关概念在了解MAT工具之前,我们需先对以下几个概念有所认知:1)强引用、弱引用、软引用、虚引用2)Shallow Size、Retained Size、Heap Size和AllocatedMAT工具实战看完1)、2)两篇博客,相信大家此时对几个概念已具备了一定认知,下面就进入正题MAT工具的使用,说到MAT工具(Memory Analyzer
2016-01-15 17:39:52 11161
原创 Android内存泄露分析之StrictMode
StrictMode(严格模式)使用StrictMode严格模式,主要用来检测程序中违例情况的开发者工具。最常用的场景就是检测主线程中本地磁盘、网络读写等耗时的操作以及Activity泄露等,但该模式不建议在Release版本开启,此外该模式无法监控JNI中的磁盘IO和网络请求且其违例情况仅供参考,需结合实际开发需求予以解决。 StrictMode检测什么?主要采用采用Thre
2016-01-15 17:07:35 3741
原创 Shallow Size、Retained Size、Heap Size和Allocated
Shallow Size:对象本身占用的内存空间,不包含其引用的对象,但在JAVA中除基本类型外,一切均为对象,也就是说持有的一直为对象的引用,如String类型对象,它主要包含3个int成员(3*4B)、1个char[]成员(1*4B)以及一个对象头(8B),尽管char[]可能指向一大块字符,但String对象里只有一个引用所占4B的空间,因此String类型对象的Shallow Size
2016-01-14 14:39:08 8049
原创 强引用、弱引用和软引用
谈到这四种引用,先让我做个这样的比喻,JVM好比你,内存好比你的抽屉,你日常生活中必需品好比强引用,日常生活中可能用到的东西(即非必需品)好比软引用或弱引用。当你的抽屉还很空的时候,放些可能以后会用到的东西,你也不会在意。但随着你买了很多生活必需品时,但你的抽屉已放不下了且你又没有其他空间可以存放它们,这时你就会将根据一些重要程度选择一些东西扔出抽屉,这个过程就好比JVM垃圾回收,JVM在内存不紧
2016-01-07 22:32:14 2278
原创 frameset嵌套的子页面js弹出新页面时,父页面添加遮罩层效果
frameset嵌套的子页面:添加遮罩层: $('html', window.parent.document).append('<iframe width="100%" height="100%" frameborder="0">');移除遮罩层:$('html', window.parent.document).find("div.mtDiv").remove(); 如何本页
2013-12-09 17:58:55 1292 2
转载 修改sqlserver数据库的排序规则(collation)
ALTER DATABASE database_name SET SINGLE_USER WITH ROLLBACK IMMEDIATE--WITH ROLLBACK IMMEDIATE 执行这个命令之后,SQL Server立即断开所有的连接并回退它们的事务。所有正在执行事务的用户都会接收到一个连接错误,而且他们不能再连接数据库。GO
2013-09-25 15:23:18 1900
原创 js将表格内容导出到excel
function AutomateExcel(){ // Start Excel and get Application object. var oXL = new ActiveXObject("Excel.Application"); // Get a new workbook. var oWB = oXL.Workbooks.Add(); va
2013-05-14 09:15:38 607
原创 js为所有文本框的输入内容去除两端空格
$(function() { function LTrim(str) { var i; for (i = 0; i if (str.charAt(i) != " " && str.charAt(i) != " ") break; } str = str.substring(i, str.length); return str; } fu
2013-05-13 18:00:19 1419
原创 html引入另一个html
$("#y_navi").load("yarukotonaviArea.html");//#y_navi要引入静态页面的部分的id
2013-01-10 20:40:22 668 1
转载 身份证验证js代码,太正确了!
function checkIdcard(idcard){ var Errors=new Array( "验证通过!", "身份证号码位数不对!", "身份证号码出生日期超出范围或含有非法字符!", "身份证号码校验错误!", "身份证地区非法!" ); var area={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽
2011-11-18 17:42:45 592
原创 javascript代码控制图片在页面显示时等比例缩放
function DrawImage(ImgD,FitWidth,FitHeight){ var image=new Image(); image.src=ImgD.src; if(image.width>0 && image.height>0){ if(image.width/image.height>= FitWidth/FitHeight){ if
2011-11-10 17:00:48 594
原创 struts中调用servlet动态生成柱状图到jsp页面
首先要用到 JFreeChart.jar、jcommon-1.0.15.jar、log4j.jarservlet代码:package com.framework.test;import javax.servlet.*; import javax.servlet.http.*; import java.awt.Color;import java.awt.Font;
2011-11-02 17:02:40 888
原创 验证码自动生成代码 java
public String getCheckCode(HttpServletRequest request,HttpServletResponse response) throws Exception { BufferedImage bufferedImage = new BufferedImage(55, 23, BufferedImage.TYPE_INT_BGR); Graphi
2011-09-28 15:18:11 681
转载 div 实现长英文字母自动换行CSS
div 实现长英文字母自动换行CSS 2009-05-07 来源: 中国 责任编辑(袁袁) 自动换行问题,正常字符的换行是比较合理的,而连续的数字和英文字符常常将容器撑大,挺让人头疼,下面介绍的是CSS如何实现换行的方法最佳CSS定义换行代码.wrap { table-layout:fixed; word-break: break-all; overflow:
2011-09-28 15:02:51 602
原创 velocity中截取字符串的一部分并显示
#set($str=$!{news.info}) #if($str.length()>60) #set($str=$str.substring(0,60)) $str ... #else $!{news.info} #end
2011-09-22 17:48:14 7244 3
原创 velocity页面取得map中指定键的值
java后台代码:Map map = new HashMap(); map.put("qyjj", 94);request.setAttribute("singleBoards",map); 页面:${singleBoards.get('qyjj')}
2011-09-21 10:53:58 6370
原创 win7系统:ireport启动报异常 java.lang.NullPointerException,java环境变量已经正确配置
将系统的主题进行切换,切换到古典版的。重新启动ireport即可。为什么呢?
2011-08-12 08:55:34 1945 1
JQuery-api
2011-06-03
struts1.pdf
2010-11-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人