迁移到 www.trinea.cn @Android @Java @性能优化 @开源,滴滴国际化项目 Android 端演进
摘要: 利用 DexClassLoader 实现 Android 插件化,从而达到动态加载 阅读全文
posted @ 2014-09-19 08:07 Trinea 阅读(1157) 评论(0) 推荐(1) 编辑
摘要: 转载自:最新内容及最清晰格式请见http://www.trinea.cn/android/java-loader-common-class/本文主要介绍 ClassLoader 的基础知识,ClassLoader 如何动态加载 Jar,ClassLoader 隔离问题及如何加载不同 Jar 中的公共... 阅读全文
posted @ 2014-09-02 01:12 Trinea 阅读(626) 评论(0) 推荐(1) 编辑
摘要: 分类整理了150个比较好的Android开源项目,已汇总到AndroidOpenProject@Github,欢迎Star和Fork^_*目前包括:Android开源项目第一篇——个性化控件(View)篇包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar等等Android开源项目第二篇——工具库篇包括依赖注入框架、图片缓存、网络相关、数据库ORM建模、Android公共库、高版本向低版本兼容库、多媒体等等Android开源项目第三篇——优秀项目篇比较有意思的完整的Android项目Android开 阅读全文
posted @ 2014-01-09 08:21 Trinea 阅读(1406) 评论(2) 推荐(2) 编辑
摘要: 最新最准确内容建议直接访问原文:性能优化系列总篇本文为性能优化系列的总纲,主要介绍性能调优专题计划、何为性能问题、性能调优方式及前面介绍的数据库优化、布局优化、Java(Android)代码优化具体对应的调优方式。1、调优专题博客计划目前调优专题已完成五部分:性能优化总纲——性能问题及性能调优方式性能优化第三篇——Java(Android)代码优化性能优化第二篇——布局优化性能优化第一篇——数据库性能优化性能优化实例后续计划性能优化——诊断及工具(目前只有关于TraceView的介绍)、性能优化——内存篇、性能优化——JNI篇,性能优化——电量篇。2、何为性能问题在性能测试中存在两个概念:(1 阅读全文
posted @ 2013-09-04 23:52 Trinea 阅读(487) 评论(0) 推荐(0) 编辑
摘要: 最新最准确内容建议直接访问原文:Android公共库(缓存 下拉ListView 下载管理Pro 静默安装 root运行 Java公共类)介绍总结的一些android公共库,包含缓存(图片缓存、预取缓存)、公共View(下拉及底部加载更多ListView、底部加载更多ScrollView、滑动一页Gallery)、及Android常用工具类(网络、下载、shell、文件、json等等)。TrineaAndroidCommon开源地址为TrineaAndroidCommon@Github,欢迎Star或Fork^_*,示例APK地址见TrineaAndroidDemo.apk。PS:这是准备分享 阅读全文
posted @ 2012-07-16 17:38 Trinea 阅读(609) 评论(0) 推荐(0) 编辑
摘要: Annotation 示例、概念及作用、分类、自定义、解析,并对几个 Android 开源库 Annotation 原理进行简析 阅读全文
posted @ 2014-10-17 08:25 Trinea 阅读(577) 评论(1) 推荐(0) 编辑
摘要: 最新内容建议直接访问原文:http://www.trinea.cn/android/android-java-execute-shell-commands/主要介绍Android或Java应用中如何以默认用户或root用户执行Shell命令,ShellUtils的API介绍、使用及使用场景(如静默安装和卸载、修改hosts文件、拷贝文件)。使用纯Java实现,所以对Java程序同样适用。很多朋友在使用TrineaAndroidCommon@Github中的ShellUtils工具类了,那就大致介绍下他的功能吧。1、API介绍以下是ShellUtils中最终执行命令的方法execCommand: 阅读全文
posted @ 2014-02-28 00:40 Trinea 阅读(1071) 评论(0) 推荐(0) 编辑
摘要: 最新最准确内容建议直接访问原文:ArrayList和LinkedList的几种循环遍历方式及性能对比分析主要介绍ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性能测试对比,根据ArrayList和LinkedList的源码实现分析性能结果,总结结论。通过本文你可以了解(1)List的五种遍历方式及各自性能 (2)foreach及Iterator的实现 (3)加深对ArrayList和LinkedList实现的了解。阅读本文前希望你已经了解ArrayList顺序存储和LinkedList链式的结构,本文不对此进行介绍。1. List的五种遍历方式下面只是简单 阅读全文
posted @ 2013-10-31 13:02 Trinea 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 最新最准确内容建议直接访问原文:Android利用Fiddler进行网络数据抓包主要介绍Android及IPhone手机上如何进行网络数据抓包,比如我们想抓某个应用(微博、微信、墨迹天气)的网络通信请求就可以利用这个方法。相对于tcpdump配合wireshark抓包的优势在于:(1)无需root (2)对Android和Iphone同样适用 (3)操作更简单方便(第一次安装配置,第二次只需设置代理即可) (4)数据包的查看更清晰易懂,Fiddler的UI更简单明了 (5) 可以查看https请求。如果你坚持使用tcpdump也可见:利用tcpdump和wireshark抓取网络数据包。PS: 阅读全文
posted @ 2013-10-21 21:33 Trinea 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 最新最准确内容建议直接访问原文:Android常用的工具类主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java。目前包括HttpUtils、DownloadManagerPro、ShellUtils、PackageUtils、PreferencesUtils、JSONUtils、FileUtils、ResourceUtils、StringUtils、ParcelUtils、RandomUtils、ArrayUtils、ImageUtils、ListUtils、MapUtils、ObjectUtils、SerializeUtils、SystemUtils、TimeUtils。 阅读全文
posted @ 2013-10-12 09:14 Trinea 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 最新最准确内容建议直接访问原文:单例模式主要介绍单例模式的标准写法、注意事项、作用、测试,以Java语言为例,下面代码是目前见过最好的写法:public class Singleton { private static volatile Singleton instance = null; // private constructor suppresses private Singleton(){ } public static Singleton getInstance() { // if already inited, no need to ge... 阅读全文
posted @ 2013-09-09 20:54 Trinea 阅读(624) 评论(0) 推荐(0) 编辑
摘要: 本文为Android性能优化的第三篇——Java(Android)代码优化。主要介绍Java代码中性能优化方式及网络优化,包括缓存、异步、延迟、数据存储、算法、JNI、逻辑等优化方式。 阅读全文
posted @ 2013-08-26 20:43 Trinea 阅读(663) 评论(0) 推荐(1) 编辑
摘要: 性能优化之数据库优化,适用于Sqlite、Mysql、Oracle、Sql server,详细介绍了索引和事务及部分针对Sqlite的优化 阅读全文
posted @ 2013-08-21 21:10 Trinea 阅读(366) 评论(0) 推荐(0) 编辑
摘要: Android性能优化之布局优化,介绍使用抽象布局标签(include,viewstub,merge)、去除不必要的嵌套和节点、减少不必要的infalte及其他Layout可调优点 阅读全文
posted @ 2013-08-13 20:22 Trinea 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 本文主要分析Android ListView滚动过程中图片显示重复、错乱、闪烁的原因及解决方法,顺带提及ListView的缓存机制。 阅读全文
posted @ 2013-08-07 22:32 Trinea 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 本文主要介绍自定义的可同时实现下拉刷新及滑动到底部加载更多的ListView的使用,可自定义下拉响应事件(如下拉刷新),可自定义滚动到底部响应的事件(如滑动到底部加载更多),可自定义丰富的样式 阅读全文
posted @ 2013-06-24 21:00 Trinea 阅读(525) 评论(0) 推荐(0) 编辑
摘要: 最新内容建议直接访问原文:滚动到底部或顶部响应(如加载更多)的ScrollView的使用本文介绍滚动到底部或顶部响应(如加载更多)的ScrollView的使用。网上关于到达底部加载更多的listView示例很多,对于ScrollView却寥寥无几,下面介绍使用自定义的ScrollView来完成该功能的实例。本文示例APK地址TrineaAndroidDemo.apk,示例代码地址见BorderScrollViewDemo,效果图如下:BorderScrollView继承自ScrollView,可以自定义滚动到底部或顶部时需要完成的任务。使用如下:一、自定义layout只需将定义的ScrollV 阅读全文
posted @ 2013-05-31 13:06 Trinea 阅读(482) 评论(0) 推荐(0) 编辑
摘要: 最新内容建议直接查看原文Android系统下载管理DownloadManager功能介绍及使用示例。本文主要结合源码介绍Android系统下载管理DownloadManager的强大功能及使用。另推荐下载管理如何进行功能增强和bug修改 PS:系统提供的功能很强大,完全没必要自己写本文可运行代码地址可见DownloadManager Demo@GoogleCode,可运行APK地址TrineaAndroidDemo.apk。效果图如下:关于具体使用可见原文Android系统下载管理DownloadManager功能介绍及使用示例 阅读全文
posted @ 2013-05-29 13:18 Trinea 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 在数据库中我们经常会有这种需求,插入时,某条记录不存在则插入,存在则更新。或更新时,某条记录存在则更新,不存在则插入。比如:人员信息数据库,某个身份证若已经存在,重复插入则更新,否则新增记录。网页缓存数据库,某个url已经存在,重复插入则更新,否则新增记录。在mysql中可以使用replace into或是insert into …. on duplicate key update实现。在sqlite中我们同样可以使用replace into实现。分为两步,下面以http cache表为例,仅包含三个字段,主键_id, url, content第一步:新建唯一索引: CREATE UNIQUE 阅读全文
posted @ 2013-05-15 09:25 Trinea 阅读(1182) 评论(0) 推荐(0) 编辑
摘要: 应用打开,home键到后台,一段时间打开,偶现fc android.os.BadParcelableException: ClassNotFoundException when unmarshalling。 具体原因原因、解决方法及android的class loader介绍见[url=http://www.trinea.cn/android/android-os-badparcelableexception-classnotfoundexception-unmarshalling/] android.os.BadParcelableException: ClassNotFoundException when unmarshalling [/url] 阅读全文
posted @ 2013-05-08 12:58 Trinea 阅读(1213) 评论(0) 推荐(0) 编辑
摘要: 本文主要介绍如何利用ViewPager实现Gallery的画廊效果,即一屏显示多个Fragment。 在使用Gallery的时候大家会发现有几个问题(1)、无法控制每次滑动只滑动一页, (2)、Gallery默认第一个item居中,无法修改它与Gallery的左间距。 ViewPager可以方便的解决上面两个问题,但默认却无法在屏幕上显示多个Fragment,下面介绍如何利用ViewPager及android:clipChildren属性解决这个问题。 阅读全文
posted @ 2013-04-08 09:21 Trinea 阅读(1552) 评论(0) 推荐(0) 编辑
摘要: 本文主要介绍Android性能调优工具TraceView的使用及详细信息从而确定性能点。 Android自带的TraceView堪比java的性能调优工具visualvm线程视图,可以方便的查看线程的执行情况,某个方法执行时间、调用次数、在总体中的占比等,从而定位性能点。 阅读全文
posted @ 2013-04-01 08:55 Trinea 阅读(307) 评论(0) 推荐(0) 编辑
摘要: Android应用如何开机自启动、自启动失败的原因、adb命令发送BOOT_COMPLETED。 接收不到BOOT_COMPLETED广播可能的原因 1、BOOT_COMPLETED对应的action和uses-permission没有一起添加 2、应用安装到了sd卡内 3、系统开启了Fast Boot模式 4、应用程序安装后重来没有启动过 阅读全文
posted @ 2013-03-26 09:19 Trinea 阅读(877) 评论(0) 推荐(1) 编辑
摘要: 本文主要介绍如何反编译Android应用程序查看源代码、资源文件和xml文件以及修改后重新打包成APK。鼓励大家反编译去学习他人的设计而不是将应用换壳后混乱市场。 阅读全文
posted @ 2013-03-20 09:10 Trinea 阅读(806) 评论(0) 推荐(0) 编辑
摘要: 本文主要分享自己在娱乐精选(功能类似垂直类appstore)项目中的性能调优点. 包括同步改异步、减少对象创建(缓存)、Layout优化、数据库优化、算法优化、延迟执行等。 解决界面上下、左右滑动明显卡顿,Activity跳转较慢,网络获取到展现速度较慢等性能问题,具体可见 Android那些可调优点 ^_^ 阅读全文
posted @ 2013-03-11 21:23 Trinea 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 本文主要介绍如何利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果。即google play首页、新浪微博消息(at、评论、私信、广播)页面的效果。ViewPager+Fragment组合为google推荐方式,比TabActivity+Activity的效率高的多,示例工程即代码见ViewPager Demo。 1、添加android support包 因为上面的几个类都是在android support包中才提供,我们先添加包。 在Eclipse->Window->Android SDK Manager,选择列表中Extras->Android Support Library进行安装。下载完后在android-sdk\extras\android\support目录下,这里我们选择v4版本,进入v4目录,拷贝其中的android-support-v4.jar文件到工程的libs目录(若没有新建)下即可,编译时ADT会自动将其导入项目中。 2、新建ViewPager的layout,内容如下 ViewPager用来管理layout并 阅读全文
posted @ 2012-11-23 19:44 Trinea 阅读(18005) 评论(5) 推荐(0) 编辑