- 博客(217)
- 资源 (14)
- 收藏
- 关注
原创 Android N版本(7.0)适配
Android N版本适配AndroidN beta版本已经出来了, 虽然还没有搭载的机器上市,但是已经Android N版本早早的就可以体验试用了。近期使用Nexus 6 刷了7.0版本, 对负责的项目进行了适配。大问题不多,小问题不少,还是耗费了些时间。整理如下:相关资料:https://developer.android.com/preview/api-overview.html官方说明(A
2016-08-11 22:18:51
9707
原创 打造专属的Chromium for Android
打造专属的Chromium for Android自从写了上篇《chrome 源码研究启航篇》后,到今天已经有了近一个月的时间,这段时间做了啥呢?研究到啥程度了呢?后续节奏是否有调整呢?针对上边疑问,下面做逐个解答:这段时间做了啥?总体来讲,这段时间主要利用闲余在编译和熟悉源码,完成了对源码的编译和Gradle构建,并将项目开源,命名为:公英小蒲。Git地址:https://git
2016-07-28 23:22:22
12612
8
原创 chrome源码研究启航篇
第一次接触浏览器开发是在09年上半年, 一款J2me的开源浏览器。浏览器中对一些常规的标签做了样式定制,访问各网站渲染出来风格都像是自己开发的,勾起了极大的研究兴趣。心想如果把标签解析和绘制工作完全按自己的意愿去定制一遍 ,那岂不是一个浏览器开发下来,再访问所有网站都delistyle 了。激情满满的对已有的基础标签样式改了一个遍(基础标签基础样式)。对简单网页支持还不错,复杂网页解析不出来的直接
2016-07-02 15:22:34
1546
原创 问题备忘
未修复问题:1,java.lang.IllegalArgumentException: bad parameter at org.apache.http.client.utils.URLEncodedUtils.parse(URLEncodedUtils.java:139) at org.apache.http.client.utils.URLEncodedUtils.parse(
2016-01-25 14:59:46
2928
原创 解决Android 5.0版本之后出现的异常:Service Intent must be explicit
java.lang.IllegalArgumentException: Service Intent must be explicit异常修复:有些时候我们使用Service的时需要采用隐私启动的方式,但是Android 5.0一出来后,其中有个特性就是Service Intent must be explitict,也就是说从Lollipop开始,service服务必须采用显示
2015-12-18 13:08:46
1592
转载 新技能get:在任意目录执行NDK编译
. 准备环境首先,你得安装了Android的NDK编译工具,假设你的NDK的根目录在 /opt/android/ndk .当然,最好你能在环境变量里配置一下路径,否则使用ndk-build命令的时候,都得加上路径的前缀了。修改 ~/.bashrcexport NDK_HOME=/opt/android/ndkexport PATH=$NDK_HOME:$PATH
2015-12-02 17:11:07
1951
原创 Android studio 配置SVN 报错问题解决
电脑重装,环境重配遇到了下边提示的问题,Studio 和 TortoiseSVN 均使用最新版本发现报如下错误:Can't use Subversion command line client: E:\Program Files\TortoiseSVN\bin\svn.exe Subversion command line client version is too ol
2015-10-05 23:47:35
10979
翻译 eclipse|studio 导出hprof 后用MAT显示报错Unknown HPROF Version
Error opening heap dump ‘com.zte.mobile.sync.hprof’. Check the error log for further details. Error opening heap dump ‘com.zte.mobile.sync.hprof’. Check the error log for further details. Unknown HPR
2015-07-29 14:32:55
2981
转载 内存优化のdecodeStream
尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。优化做法:通过BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageView的 sou
2015-06-19 15:34:18
2245
转载 SharedPreferences 进程间共享(英语写的比较简单就不翻译了)
As I wrote in previous post , where I described how to use preferences system, SharedPreferences object can be created and opened with Context mode constants. These constants allows to define wh
2015-06-17 10:35:07
1220
原创 adb logcat 输出乱码问题解决方案
Android LOGCAT输出是UTF-8编码,要想正确显示中文,需要设置在WINDOWS CMD窗口的编码设置,以下为设置步骤。 步骤1、打开CMD.exe命令行窗口 步骤2、通过 chcp命令改变代码页,UTF-8的代码页为65001 cmd下输入 C:/chcp 65001 执行该操作后,代码页就被变成UTF-8了。但是,在窗口中仍
2015-06-15 16:19:16
7981
转载 轻量级BroadcastReceiver --LocalBroadcastManager
参考博客:http://blog.youkuaiyun.com/t12x3456/article/details/9256609http://blog.youkuaiyun.com/lihenair/article/details/19343767http://blog.youkuaiyun.com/plussoft/article/details/12971265http://blog.cs
2015-06-12 11:38:35
741
原创 应用Setting中,不想让用户清除数据怎么办,贱贱的管理空间怎么实现的?
QQ浏览器, UC浏览器都玩空间管理,即将清除数据指定为自己的Activity,点击后跳转到自己的Activity~怎么做到的呢:android:manageSpaceActivity属性,这个属性是AndroidManifest.xml中的application标签的一个属性,意思是用于指定一个Activity来管理数据,加上这个属性,指定SettingActivity为管理空间
2015-06-11 17:42:26
1222
转载 Android 异步处理-有点意思
Runnable 并不一定是新开一个线程,比如下面的调用方法就是运行在UI主线程中的: Handler mHandler=new Handler(); mHandler.post(new Runnable(){ @Override public void run() { // TODO Auto-generated method st
2015-06-04 18:37:18
679
原创 4.0,4.1系统手机 @android:color/transparent 显示黑色
最近QA在使用4.0,4.1版本手机回归项目时,报上了一个比较诡异的问题,设置的调用系统透明色,实际显示黑色。而调用系统透明色的地方有很多,为什么偏偏特定地方有问题呢?记录下复现的场景:透明色定义在drawable中。解决方案:改为指向本地color中定义的transparent ,问题解决。特别注意:style中指向不要改用本地的。不然4.0,4.1版本上同样透明失效。因目前精力
2015-05-11 14:20:25
5850
原创 webview4.4以上版本使用loadurl加载过长js文件失效问题
因为业务需要, 需要在使用Webview的时候,动态的加载js文件到页面中,之前SDK Target版本为16 , 无论JS文件多大,使用一切正常~近期将target版本改为了19 ,发现存在js过大的时候,使用4.4以上版本执行项目,JS文件不执行。查看源码发现在4.4版本以上内核对处理js做了区别处理:495 @Override496 public void lo
2015-04-28 17:31:48
6343
转载 总结的不错的Android事件分发介绍
不错的对事件分发介绍博客:1,简单的事件分发流程:2,ViewGroup中的事件分发:顾名思义,ViewGroup就是一组View的集合,它包含很多的子View和子VewGroup,是Android中所有布局的父类或间接父类,像LinearLayout、RelativeLayout等都是继承自ViewGroup的。但ViewGroup实际上也是一个V
2015-04-23 17:36:04
747
原创 Android 动态加载 之 如何获取插件res资源
直接上干货:要获取插件的资源信息我们采用的是通过实例packageInfo,并动态的更改里边的sourceDir和publicSourceDir为插件Apk路径地址。而这里关键的是什么时候去加载的资源信息呢:1,pm.getPackageArchiveInfo如图,在执行取packageArchiveInfo的时候,回去解析包文件,具体看源码:493 pu
2015-04-21 17:40:24
6086
翻译 android:installLocation 用法科普
在Froyo(android 2.2,API Level:8)中引入了android:installLocation.通过设置该属性可以使得开发者以及用户决定程序的安装位置.android:installLocation隶属于AndroidManifest.XML中的manifest节点.如下所示:xmlns:android="http://schemas.android.com/ap
2015-04-16 15:51:10
792
原创 多Webview并发执行缓存数据在2.3版本上出现的SQLiteDiskIOException 备忘
2.3手机操作数据库异常情况备忘:android.database.sqlite.SQLiteDiskIOException: disk I/O error: BEGIN EXCLUSIVE; at android.database.sqlite.SQLiteDatabase.native_execSQL(Native Method) at android.database.sqlite.
2015-04-13 21:21:10
1170
转载 ConcurrentHashMap 介绍
看到的不错的对ConcurrentHashMap的剖析,留此备份:ConcurrentHashMap是Java 5中支持高并发、高吞吐量的线程安全HashMap实现。在这之前我对ConcurrentHashMap只有一些肤浅的理解,仅知道它采用了多个锁,大概也足够了。但是在经过一次惨痛的面试经历之后,我觉得必须深入研究它的实现。面试中被问到读是否要加锁,因为读写会发生冲突,我说
2015-03-31 21:06:58
529
原创 an BUG in the AdMob's new GooglePlayServices Library
java.lang.NullPointerExceptionat android.webkit.WebViewClassic$WebViewInputConnection.setNewText(WebViewClassic.java:583)at android.webkit.WebViewClassic$WebViewInputConnection.setComposingText(
2015-03-23 19:21:57
1053
原创 Android 线程 Looper.prepare()、Looper.loop() 使用
优化项目过程中发现了一个很Low的问题,整理一下,备忘:说问题之前先看下HandlerThread的定义一个封装了looper的线程: Looper用于封装了android线程中的消息循环,默认情况下一个线程是不存在消息循环(message loop)的,需要调用Looper.prepare()来给线程创建一个消息循环,调用Looper.loop()来
2015-03-16 21:35:40
14338
1
原创 AnsycTask 2.3版本 及3.0后版本 使用比较
先来看下官方对AsyncTask 的解释:AsyncTask is designed to be a helper class around Thread and Handler and does not constitute a generic threading framework. AsyncTasks should ideally be used for short operati
2015-03-16 16:56:56
971
转载 Android中正确存储特定的应用文件
原文地址:How to Correctly Store App-Specific Files in AndroidChristophe Versieux (Waza_be)发表了一篇rant about android developers’ bad habit to store files directly on the root of the sd card的文章。我非常赞同这
2015-03-05 17:42:18
792
原创 proguard Missing type parameter
在使用GSON后, 添加混淆打包后容易出现标题所述问题:E/BrowserCrashHandler(8889): java.lang.RuntimeException: Missing type parameter.E/BrowserCrashHandler(8889): at com.google.gson.reflect.TypeToken.getSuperclassTypeParam
2015-03-04 08:44:10
3847
转载 Android ANR 分析解决方法
一:什么是ANRANR:Application Not Responding,即应用无响应二:ANR的类型ANR一般有三种类型:1. KeyDispatchTimeout(5 seconds) --主要类型按键或触摸事件在特定时间内无响应2. BroadcastTimeout(10 seconds) --BroadcastReceiver在特定时间内无法处理
2015-03-03 21:13:06
963
原创 SharedPreferences.Editor commit ->apply
最近在做APP卡顿情况原因的排查,发现其中一个容易出现的优化点share preference.edit 经常在主线程中调用commit。通常我们是不需要commit结果的,完全可以替换为apply()方法。至于两者区别可以参考官方说明: abstract voidapply()Commit your preferences changes back fr
2015-03-01 16:03:39
1360
转载 Android查看内存使用的方式(Running services、MemoryInfo、getNativeHeapSize) 整理的不错
查看内存使用的方式有很多种,但是各个方式查看到的结果可能会有微略不同。方式一,Running services通过手机上Running services的Activity查看,可以通过Setting->Applications->Running services进。关于Running services的详细内容请参考《Android中使用"running services"
2015-02-27 14:40:19
4391
原创 com.android.org.chromium.content.browser.ContentViewCore.setContainerView(ContentViewCore.java:702)
问题备忘, 被一个5.0的crash问题折磨了两个小时,最终恍然解决,留此备忘02-10 17:46:55.868: E/BrowserCrashHandler(5840): Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x204000202-10 17:46:55.
2015-02-10 18:23:19
3969
原创 ClassNotFoundException when unmarshalling 问题总结
一、现象:应用打开,home键到后台,过一段时间打开,偶现fc,log如下:123E/AndroidRuntime(9085): Caused by: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: *.*.*.*.Layout$ConfigE/AndroidRuntime(
2015-02-09 20:54:09
13133
1
原创 友盟反馈中发现的这样的问题,对下文没有考证,最终对2.3版本通过绕过Parserable 和 serializable方式解决的,留此只做备忘
OVERVIEWSending a private serializable subclass as an Intent extra can crash many receivers.STEPS TO REPRODUCE1. Send a private serializable subclass as an Intent extra to a receiver that inspect
2015-02-09 20:34:27
3808
原创 EventUtil.js 开发常用工具类
EventUtil.jsvar EventUtil = new Object;EventUtil.addEventHandler = function (oTarget, sEventType, fnHandler) { if (oTarget.addEventListener) { oTarget.addEventListener(sEve
2015-01-21 17:03:01
2724
转载 android webkit HTML5 video研究
摘要:本文主要介绍HTML5 video在android2.2中实现的主要架构和程序流程。一、实现HTML5 video主要的类1. 主要类结构及介绍 图1中绿色类为java类,其余为c++类,下面是各个类的具体介绍:(1) HTMLElement类不是最上层类,其父类可追到为Node类。为了表述方便省去了上面的类继承结构。该类是一个
2015-01-09 15:14:23
737
转载 android.permission.KILL_BACKGROUND_PROCESSES 相关
做一个应用,需要强制关闭进程。可以使用ActivityManager的killBackgroundProcesses方法,需要权限android.permission.KILL_BACKGROUND_PROCESSES。但使用此方法杀死进程后,进程会重启。源码中解释如下:Have the system immediately kill all background processe
2015-01-09 12:04:12
14894
原创 Android应用覆盖安装时crash问题
最近测试报了这样的问题, 在版本覆盖安装的时候会报如下crash, 实验一下果然,具体跟进了一下,发现要必现该问题是需要条件的:1,4.0或者4.1系统2,覆盖前Activitystack 栈中有三个以上Activity经查很多同仁遇到了同样的问题,收集备忘于此。目前没有太好的解决办法。在高版本系统上或者低版本上没有该种问题。有在排查同样问题的兄弟们没时间不要再去查了。意义不大。java.lang
2015-01-04 12:17:17
5743
原创 preventDefault() 方法使用
preventDefault() 方法Event 对象定义和用法取消事件的默认动作。语法event.preventDefault()说明该方法将通知 Web 浏览器不要执行与事件关联的默认动作(如果存在这样的动作)。例如,如果 type 属性是 "submit",在事件传播的任意阶段可以调用任意的事件句柄,通过调用该方法,可以阻止提交表单。注
2014-12-29 20:25:42
7248
转载 android onNewIntent 问题
一、onNewIntent()在IntentActivity中重写下列方法:onCreate onStart onRestart onResume onPause onStop onDestroy onNewIntent1、其他应用发Intent,执行下列方法:onCreateonStartonResume发Intent的方法:
2014-12-23 19:48:00
772
翻译 volley 讲解
总结的不错的Volley介绍: Volley主页 https://android.googlesource.com/platform/frameworks/volley http://www.youtube.com/watch?v=yhv8l9F44qo&feature=player_embedded1. 什么是Volley在这之前,我们在程序中需要和网络通
2014-12-22 23:25:20
811
android 自定义camera
2012-08-02
Android安全与权限.pdf
2011-08-31
Android中文API合集.pdf
2011-08-31
Android_签名经典教程.docx
2011-08-31
WebView控件基本使用 Android
2011-08-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人