![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android系列
文章平均质量分 68
东辉在线
专注webkit内核技术研究
展开
-
Android内存优化之内存缓存
前言:上面两篇博客已经讲了图片的基本知识和图片的加载方法及优化,所有的这些优化都是为了避免应用出现OOM这个问题。一个好的应用程序不仅要健壮不能出错还要方便用户使用,对于用户来说你的应用不仅要美观还要流畅,很快的呈现给他想要的。很快的加载图片除了加载的优化外还需要缓存,下面这篇博客将会讲图片缓存。什么是缓存?缓存技术原理就是把用户访问的所有对象看作一个全集,经过算法标记哪些原创 2015-06-16 18:28:47 · 3279 阅读 · 2 评论 -
android AsyncTask介绍
AsyncTask和Handler对比1 ) AsyncTask实现的原理,和适用的优缺点AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.使用的优点:l 简单,快捷l 过程可控 使用的缺点:l转载 2014-03-16 14:21:55 · 726 阅读 · 0 评论 -
android assets 文件读取
assets文件夹资源的访问 assets文件夹里面的文件都是保持原始的文件格式,需要用AssetManager以字节流的形式读取文件。 1. 先在Activity里面调用getAssets() 来获取AssetManager引用。 2. 再用AssetManager的open(String fileName, int accessMode)转载 2014-03-14 14:07:53 · 1271 阅读 · 0 评论 -
adb server is out of date
1:今天调试android的时候发现一个诡异的问题[html] view plaincopyprint?C:\Users\xxxx>adb start-server adb server is out of date. killing... ADB server didn't ACK * failed to start daemon * C:\Us转载 2014-03-11 14:24:03 · 855 阅读 · 0 评论 -
Android chromium 和 Android Webkit 区别
转自:http://blog.csdn.net/milado_nju## 概述相信读者已经注意到了,在最新的Android 4.4 Kitkat版本中,原本基于Android WebKit的WebView实现被换成基于Chromium的WebView实现。在前面的章节中,笔者也介绍过基于Chromium的WebView实现即将成为Android系统上的缺省实现方式,笔者转载 2014-03-02 18:01:24 · 9620 阅读 · 1 评论 -
Android WebKit EventSource 支持修改记录
转载请注明出处:http://blog.csdn.net/lihui130135作者:李东辉邮件:lihui40319@gmail.com最近有人问道如何解决在android4.0平台上支持Event Source事件,好方便与服务器通讯如果不支持的话就打印下面的错误“Uncaught ReferenceError: EventSource is not defined原创 2012-11-05 13:45:35 · 2749 阅读 · 2 评论 -
由 Android WebKit html5 引发的联想
由 Android WebKit html5 引发的联想 转载请注明出处:http://blog.csdn.net/lihui130135 作者:李东辉 邮件:lihui40319@gmail.com针对android webkit html5的支持目前已经开始,目前html5的标准,也最终还没有最终定论,因此各个浏览器对于支持的力度大不一样而且有些标准接口还没原创 2012-11-02 18:45:02 · 2172 阅读 · 0 评论 -
Android中的 Intent详细讲解
转自:http://blog.csdn.net/dlmu2001/article/details/3478266Android中的Intent详细讲解在一个Android应用中,主要是由四种组件组成的,这四种组件可参考“Android应用的构成”。而这四种组件是独立的,它们之间可以互相调用,协调工作,最终组成一个真正的Android应用。在这些组件之间的通讯中,主要是由转载 2012-10-30 11:59:18 · 730 阅读 · 0 评论 -
webkit Dump Render Tree 工作流程
1.下载一个webkit的版本,目前我使用的版本是webkit-r54749,这个版本正好是android2.2版本对应webkit版本2.进行编译,这个过程根据自己机器环境qt,gtk,win之类都是可以编译,在这里简单说一下怎么进行编译切换到WebKit-r54749目录下./WebKitTools/Scripts/build-webkit --help下面罗列出很多的细节:原创 2012-10-18 18:10:07 · 4323 阅读 · 4 评论 -
android crash 追踪方式
在调试android系统的c++库的时候,一种方案是我们使用gdb server方式,这种方式使用起来相对来说还是比较麻烦现在有一个最简单方式,这种方式是针对有些个应用直接crash打印出一连串的错误I/DEBUG ( 1821): #00 pc 67a79810 sp 6678ca60 /system/lib/libwebcore.soI/DEBUG原创 2012-10-17 17:00:09 · 2292 阅读 · 0 评论 -
webkit 绘制流程解析(2)
<!--@page {margin:2cm}p {margin-bottom:0.21cm}-->webkit在绘制的时候首先要确定一个大的容器,所有的绘制都是在这个容器内展开。根据我之前做传统webkit的经验一般都是针对某个窗口就对应window,在android系统上也不例外:具体参考代码如下#ifPLATFORM(ANDROID)clas原创 2012-10-11 17:40:13 · 3493 阅读 · 0 评论 -
android lock screen
转自:http://blog.csdn.net/chenyafei617/article/details/6575621Introduction 常常我们开发程序的时候我们不需要系统唤醒系统锁屏功能,比如我们在做xxxNowTV或XXX播放器这样的程序,用户有时候在看电视或视频的时候不希望系统的锁屏功能启动,既不想锁频,然而系统却在我们看电视或者视频的时候出来个锁屏的界面进行锁频拉转载 2012-09-13 15:40:12 · 2890 阅读 · 0 评论 -
android invalidate 执行流程
转自:http://blog.csdn.net/zjmdp/article/details/7713209invalidate()函数的主要作用是请求View树进行重绘,该函数可以由应用程序调用,或者由系统函数间接调用,例如setEnable(), setSelected(), setVisiblity()都会间接调用到invalidate()来请求View树重绘,更新View树的显示。转载 2012-09-03 11:13:47 · 4349 阅读 · 0 评论 -
android 音量控制 流程梳理
Android.media.AudioManager中包含了对android.media.AudioService的跨进程AIDL调用封装。正常处理过程:1.调整音量是通过AudioManager间接调用AudioService.adjustStreamVolume方法来完成逻辑处理;2.AudioService调用VolumePanel画出音量调整界面,并发送音量变动广播消息,3转载 2012-07-20 17:18:23 · 3458 阅读 · 0 评论 -
git高级使用技巧第一篇:创建远程仓库
使用过git的都知道,git仓库的任何一个拷贝都可以独立作为一个服务器来使用,那么具体到工作中如何为团队来创建一个git远程仓库呢?下面已一个简单的例子介绍了一些具体步骤。1.创建一个本地git仓库$ mkdir gittest$ cd gittest/$ git initInitialized empty Git repository in /home/xxx/workspac原创 2015-03-29 13:52:57 · 1251 阅读 · 0 评论 -
android防止反编译系列:如何对抗JD-GUI
又到周末一个人侘在家里无事可干,这就是程序员的悲哀啊。好了我们利用周末的时间继续介绍android apk防止反编译技术的另一种方法。前三篇我们讲了加壳技术(http://my.oschina.net/u/2323218/blog/393372)、运行时修改字节码(http://my.oschina.net/u/2323218/blog/396203)和伪加密(http://my.oschina.原创 2015-04-21 16:16:58 · 3140 阅读 · 3 评论 -
安卓高级编程总结:bitmap内存优化
前言:”安得广厦千万间,大庇天下寒士俱欢颜“——杜甫。在帝都住的朋友们都可能会遇到租房子困难的问题(土豪请无视),找房子真是力气活,还耗费时间,占用我宝贵的写博客时间,没办法,谁让咱没钱还想住的好点,努力努力挣钱!!!以上发点牢骚,现在进入正题。上一篇博客《Bitmap那些事之内存占用计算和加载注意事项》,写了Bitmap基础知识和使用Bitmap需要知道的注意事项,这一片博客我会写在Androi原创 2015-04-21 16:13:39 · 981 阅读 · 0 评论 -
android webkit JavaScript 不能处理onkeydown的上下左右键,引发的话题
前段时间有个在android上面做网页的同事,对我说在JavaScript的里面的onKeyDown不能接收上下左右按键,当时我还觉得不好思议,这是网页的一个标准,android对接webkit怎么可能改变原有的标准那,当时只是随口说说也没有怎么在意 结果前一段时间,客户写了一个网页包含onKeyDown处理的函数,结果在android平台上怎么也不能接收到事件,当时我突然想到以前有原创 2012-10-12 19:09:25 · 6342 阅读 · 16 评论 -
Android浏览器开发 WebView setBlockNetworkImage来龙去脉
webview 延缓网页中图片加载功能底层源码介绍原创 2014-10-31 14:08:23 · 17331 阅读 · 0 评论 -
Android webkit 时代结束,我们需要做些什么准备?
Android 4.4最新发布版本对浏览器来说是一个革命性变化,external下面的webkit源码已经被移除,前一阵子吵得沸沸扬扬的chromium作为android默认浏览器的猜测已经尘埃落定,这对于已经习惯于android webkit开发的人来说,需要去学习android chromium。根据本人观察这次大的变化需要以下几点。(1).WebView接口没有任何变化,基于此的应用可以原创 2014-03-03 01:26:51 · 4150 阅读 · 0 评论 -
Android L下载
Android 5.0源码下载总结,repo创建mirror方法介绍。原创 2014-11-06 12:17:46 · 2792 阅读 · 5 评论 -
Android 图片开发内幕第一篇
前言:本来我是做电视应用的,但是因为公司要出手机,人员紧张,所以就抽调我去支援一下,谁叫俺是雷锋呢!我做的一个功能就是处理手机中的应用ICON,处理无非就是美化一下,重新与底板进行合成和裁剪,用到了很多Bitmap的知识。本来之前一直想写一些关于Bitmap的博客,正好这是个机会,因此Bitmap那些事系列博客诞生了。这个系列我会把学习Bitmap的一些知识发布出来供大家参考和交流。原创 2015-04-14 15:05:27 · 883 阅读 · 0 评论 -
如何加密Android apk
经过了忙碌的一周终于有时间静下来写点东西了,我们继续介绍android apk防止反编译技术的另一种方法。前两篇我们讲了加壳技术(http://my.oschina.net/u/2323218/blog/393372)和运行时修改字节码(http://my.oschina.net/u/2323218/blog/396203),如果有不明白的可以查看我的博客的前两篇中关于这两种技术的介绍。接下来我们原创 2015-04-13 18:45:51 · 3487 阅读 · 0 评论 -
打造自己的安卓Metro界面
前言:各位小伙伴,又到了每周更新文章了时候了,本来是周日能发出来呢,这不是赶上清明节吗,女王大人发话了,清明节前两天半陪她玩,只留给我周一下午半天时间写博客,哪里有女王哪里就有压迫呀有木有!好了闲话少说,上一篇博客(Android Metro风格的Launcher开发系列第二篇)说到Launcher主体框架用ViewPager来实现,这一篇博客咱们来说说每一个page的具体实现。原创 2015-04-08 00:55:39 · 2581 阅读 · 5 评论 -
如何防止Android应用代码被窃
上一篇我们讲了apk防止反编译技术中的加壳技术,如果有不明白的可以查看我的上一篇博客http://my.oschina.net/u/2323218/blog/393372。接下来我们将介绍另一种防止apk反编译的技术-运行时修改字节码。这种方法是在工作中在实现app wrapping时,看到国外的一篇关于android安全的介绍实现的并且独创。下面我们来介绍一下这种方法。我们知道a原创 2015-04-05 20:13:53 · 1050 阅读 · 0 评论 -
Android webkit 事件传递流程
前言:基于android webview 上定制自己使用的可移植浏览器apk,遇到好多按键处理的问题。所以索性研究了一下keyevent 事件的传递流程。frameworks 层keyevent 事件开始是从/frameworks/base/core/java/android/webkit目录下WebViewClassic.java中的onKeyDown() 函数开始的原创 2015-04-01 23:16:37 · 1066 阅读 · 0 评论 -
Android Metro风格的Launcher开发系列第二篇
请原谅我隔了这么久才开始写这一系列的第二篇博客,没办法忙新产品发布,好了废话不说了,先回顾一下:在我的上一篇博客http://www.cnblogs.com/2010wuhao/p/4363041.html#3153255 写了如何配置Android开发环境,只是用文字和图片展示了开发Metro风格Launcher的初步设计和产品要求,这一篇文章将会从代码上讲解如何实现对应的UI效果,好了,评书开原创 2015-03-31 17:32:31 · 1221 阅读 · 0 评论 -
android apk 防止反编译技术第一篇-加壳技
做android framework方面的工作将近三年的时间了,现在公司让做一下android apk安全方面的研究,于是最近就在网上找大量的资料来学习。现在将最近学习成果做一下整理总结。学习的这些成果我会做成一个系列慢慢写出来与大家分享,共同进步。这篇主要讲apk的加壳技术,废话不多说了直接进入正题。一、加壳技术原理所谓apk的加壳技术和pc exe的加壳原理一样,就是在转载 2015-03-31 23:29:17 · 1440 阅读 · 0 评论 -
Android Metro风格的Launcher开发系列第一篇
前言:从毕业到现在已经三年多了,回忆一下这三年基本上没有写过博客,总是觉得忙,没时间写,也觉得写博客没什么大用。但是看到很多大牛们都在写博客,分享自己的东西,所以嘛本着向大牛看齐,分享第一,记录第二的目的开始写一个系列的文章,我会把我做一个项目的详细过程分享给大家,供大家参考和交流。好了,评书开讲!可能大家做Android机顶盒或者Android电视开发的比较少,这类开发基本上都是基于源码转载 2015-03-23 17:46:45 · 753 阅读 · 0 评论 -
android4.0 webkit 请求网络数据的调用流程
1.PassRefPtr ResourceLoaderAndroid::start( ResourceHandle* handle, const ResourceRequest& request, FrameLoaderClient* client, bool isMainResource, bool isSync){ // Called on main thr原创 2012-07-20 09:14:55 · 2747 阅读 · 0 评论 -
开机启动程序
只需要修改AndroidManifest.xml文件,加几个 这样就可以了原创 2012-07-20 17:54:58 · 780 阅读 · 0 评论 -
android 消息处理机制
有几个概念需要认识清楚:Thread Looper Handler这几个概念实际上都是面对消息队列来完成的Looper实际上就是维护一个MessageQueue在Handler初始化的时候把Looper所维护的消息队列交给Handler我们看下面的代码: /** * Use the provided queue instead of the default one.原创 2012-03-07 13:13:23 · 893 阅读 · 0 评论 -
android webkit 调试坐标位置方法
我们在绘制的时候经常会对应屏幕的坐标,这个时候只是根据屏幕的位置进行估算在android webkit的里面已经包含了一种很巧妙的办法在external/webkit/WebKit/android/jni/PictureSet.h的开头几句话包含着:#define PICTURE_SET_DUMP 0#define PICTURE_SET_DEBUG 0#define原创 2012-03-01 14:56:11 · 1220 阅读 · 0 评论 -
android videoview 背景知识
目前在android系统下:绘制基本的基础控件:view 和 surfaceview 普通的canvas的绘制用的是view 用view的好处是基本的显示逻辑系统已经帮你解决surface主要是用于比较独立性的开发,例如游戏开发SurfaceView是从View基类中派生出来的显示类,可以看出GL和视频播放以及Camera摄像头一般均使用SurfaceView,到底有哪些优势呢?原创 2012-02-27 17:04:42 · 4483 阅读 · 0 评论 -
android.mk 指定第三方的静态库路径
我们知道在android.mk里面包含着 LOCAL_STATIC_LIBRARIES := libxml2 但是这个静态库的路径是固定的如果我们想自己找个路径使其能够识别那么我们就可以使用下面的办法:LOCAL_LDLIBS += -lxml或者LOCAL_LDFLAGS += $(LOCAL_PATH)/libtest.a(可以任意指定路径)这两种方式都原创 2012-02-17 14:48:04 · 16455 阅读 · 1 评论 -
android webkit 打开debug调试信息
在android的framework层有有一个文件专门针对webkit各个分类进行调试的开关frameworks/base/core/java/android/webkit/DebugFlags.java这个里面的内容就是各个类型debug的开关class DebugFlags { public static final boolean BROWSER_FRAME = f原创 2012-02-15 10:30:09 · 2665 阅读 · 0 评论 -
普通网站检测浏览器是否支持格式在webkit中的实现方式
在优酷网站中如果对应某个属性不支持就会报出错误说不支持在html5 video的使用过程中也是存在这样的问题video标签包含一个canPlayType属性,这个可以判断你浏览器内部是否支持某一属性。对应到webkit的代码中就是:String HTMLMediaElement::canPlayType(const String& mimeType) const{原创 2012-02-14 18:09:30 · 1287 阅读 · 0 评论 -
android 使用gdb调试的方式
1. 板子:/system/bin/gdbserver 192.168.100.68:1234 --attach 1130192.168.100.68 是pc端的地址 1130是你选择调试的进程号2.pc设置切换到android的根目录下执行./prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-gdb o原创 2012-02-13 16:34:33 · 1022 阅读 · 0 评论 -
android ndk编译自己的webkit
转自:http://blog.csdn.net/wzm012/article/details/7073613android本来自带了webkit浏览器,但是要对其进行custom就需要android源代码才行,但是在没有源码的情况下,那么就需要用到ndk了,比如,我是在xoom上做custom webkit的。虽然ndk提供的库很少,而且没有skia,但是好在有bitmap转载 2012-02-08 16:47:39 · 3205 阅读 · 2 评论 -
android apk背景设置透明的方式
ColorDrawable colorDrawable = new ColorDrawable(Color.argb(0, 0, 0, 0)); getWindow().setBackgroundDrawable(colorDrawable);这个实际上就是view背景设置成了透明了原创 2012-02-08 10:16:03 · 8474 阅读 · 1 评论