
Android应用开发
范培华
移动端应用摸索中
展开
-
RxJava应用场景
前言Rxjava由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。如果还不了解RxJava,请看文章:Android:这是一篇 清晰 & 易懂的Rxjava 入门教程今天,我将为大家带来 Rxjava的的基本使用 & 实际应用案例教学,即常见开发应用场景实现 ,并结合常用相关框架如Retrofit等,希望大家会...转载 2016-12-13 11:58:44 · 887 阅读 · 0 评论 -
Android应用开发必备的20条技能
有些andorid开发人员感觉很迷茫,接下来该去看系统源码还是继续做应用,但是感觉每天仅仅实在画UI和调用MobileAPI处理JSON,没有技术上升的空间。下面是包建强老师的《APP研发录》当中列举的20条需要精通的技能点看看你是否完全掌握:1)Activity相关。App应用开发,以Activity使用最多,设计LaunchMode、onSaveInstanceState、生命原创 2016-03-15 21:58:04 · 2084 阅读 · 11 评论 -
Android性能优化:性能优化指南(含内存优化、布局优化等)
前言在 Android开发中,性能优化策略十分重要 因为其决定了应用程序的开发质量:可用性、流畅性、稳定性等,是提高用户留存率的关键 本文全面讲解性能优化中的所有知识,献上一份 Android性能优化的详细攻略, 含:优化方向、原因 & 具体优化方案,希望你们会喜欢文章较长,建议预留较长时间阅读 / 收藏目录1. 性能优化的目的性能优化的目的是为了让应用程序A...转载 2016-10-17 18:51:57 · 1610 阅读 · 0 评论 -
Android Volley完全解析
Android Volley完全解析(一),初识Volley的基本用法转载自:http://blog.youkuaiyun.com/guolin_blog/article/details/174820951. Volley简介我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要原创 2016-02-23 14:00:27 · 914 阅读 · 0 评论 -
Android开发之如何保证Service不被杀掉(broadcast+system/app)
序言最近项目要实现这样一个效果:运行后,要有一个service始终保持在后台运行,不管用户作出什么操作,都要保证service不被kill,这可真是一个难题。参考了现今各种定制版的系统和安全厂商牛虻软件,如何能保证自己的Service不被杀死呢?其实除了常规的手段,我们可以参考一下微信和360,设置-程序-正在运行,可以看到微信是同时开启了两个进程和服务:【有兴趣可原创 2016-04-06 16:15:40 · 691 阅读 · 0 评论 -
Android性能优化典范之多线程篇
本文涉及的内容有:多线程并发的性能问题,介绍了 AsyncTask,HandlerThread,IntentService 与 ThreadPool 分别适合的使用场景以及各自的使用注意事项,这是一篇了解 Android 多线程编程不可多得的基础文章,清楚的了解这些 Android 系统提供的多线程基础组件之间的差异以及优缺点,才能够在项目实战中做出最恰当的选择。1. Threading Perf...转载 2016-08-30 22:39:54 · 591 阅读 · 0 评论 -
android中对线程池的理解与使用
前段时间有幸接到腾讯上海分公司的 android开发面试,虽然最后一轮被毙了。但还是得总结一下自己在android开发中的一些盲点,最让我尴尬的是面试官问我几个android中线程池的使用与理解。。哎。。平时就知道new 线程要么用Asynctask,再者就是从github上下载大神写的一些开源库,虽然里面涉及到了线程池,但自己最多就是改改里面的最大线程数,没有仔细研究里面对线程池的使用。。结果被原创 2016-08-29 15:40:58 · 541 阅读 · 0 评论 -
Android View事件机制 21问21答
1.View的坐标参数 主要有哪些?分别有什么注意的要点?答:Left,Right,top,Bottom 注意这4个值其实就是 view 和 他的父控件的 相对坐标值。 并非是距离屏幕左上角的绝对值,这点要注意。 此外,X和Y 其实也是相对于父控件的坐标值。 TranslationX,TranslationY 这2个值 默认都为0,是相对于父控件的左上角的偏移量。原创 2016-04-12 21:08:27 · 698 阅读 · 1 评论 -
Android - 文件读写操作总结
在android中的文件放在不同位置,它们的读取方式也有一些不同。本文对android中对资源文件的读取、数据区文件的读取、SD卡文件的读取及RandomAccessFile的方式和方法进行了整理。供参考。一、资源文件的读取: 1) 从resource的raw中读取文件数据:[java] view plain原创 2016-04-13 14:42:45 · 792 阅读 · 0 评论 -
知乎日报 API 分析
声明以下所有 API 均由 知乎(Zhihu.Inc) 提供,本人采取非正常手段获取。获取与共享之行为或有侵犯知乎权益的嫌疑。若被告知需停止共享与使用,本人会及时删除此页面与整个项目。请您暸解相关情况,并遵守知乎协议。API 说明知乎日报的消息以 JSON 格式输出网址中 api 后数字代表 API 版本,过高或过低均会得到错误信息较老的接口(启原创 2016-04-21 16:49:33 · 16417 阅读 · 2 评论 -
Android内存泄漏解析
定义内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。(其实说白了就是该内存空间使用完毕之后未回收)即所谓内存泄漏。 内存泄漏形象的比喻是“操作系统可提供给所有进程的存储空间正在被某个进程榨干”,最终结果是程序运行时间越长,占用存储空间越来越多,最终用尽全部存储空间,整个系统崩溃。所以“内存泄漏”是从操作系原创 2016-09-18 15:40:52 · 842 阅读 · 0 评论 -
Gradle自定义你的BuildConfig
BuildConfig.DEBUG首先在Gradle脚本中默认的debug和release两种模式BuildCondig.DEBUG字段分别为true和false,而且不可更改。该字段编译后自动生成,在Studio中生成的目录在 app/build/source/BuildConfig/Build Varients/package name/BuildConfig 文件下。我们以9GAG为原创 2016-06-23 16:37:04 · 588 阅读 · 0 评论 -
Android Studio - MAC版快捷键详解
要点总结 : -- 熟练使用快捷键 : 在任何编程环境中, 熟练使用环境提供的快捷键会大大提高编程效率, 在 Android Studio 中也不例外, 熟练使用其快捷键是 Android 开发者必备的技能之一, 这里根据官网提供的列表, 我自己总结使用了一遍, 将快捷键使用记录以及使用后的效果都展示给大家; -- 只适用于 MAC 操作系统 : 该快捷键总结的时 MAC原创 2016-12-16 11:59:30 · 22054 阅读 · 1 评论 -
Android 自定义View合集
原创 2016-12-12 15:39:57 · 613 阅读 · 0 评论 -
SurfaceView和View最本质的区别
surfaceView是在一个新起的单独线程中可以重新绘制画面,而View必须在UI的主线程中更新画面。那么在UI的主线程中更新画面 可能会引发问题,比如你更新画面的时间过长,那么你的主UI线程会被你正在画的函数阻塞。那么将无法响应按键,触屏等消息。当使用surfaceView 由于是在新的线程中更新画面所以不会阻塞你的UI主线程。但这也带来了另外一个问题,就是事件同步。比如你触屏了一下,你需要s原创 2016-07-07 14:57:15 · 399 阅读 · 0 评论 -
RxJava使用指南
前言Rxjava,由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。如果还不了解RxJava,请看文章:Android:这是一篇 清晰 & 易懂的Rxjava 入门教程 RxJava如此受欢迎的原因,在于其提供了丰富 & 功能强大的操作符,几乎能完成所有的功能需求 今天,我将为大家献上一份 RxJava操...转载 2017-10-09 15:00:10 · 749 阅读 · 0 评论 -
Android:深入剖析 Retrofit 2.0 源码
前言在Andrroid开发中,网络请求十分常用 而在Android网络请求库中,Retrofit是当下最热的一个网络请求库今天,我将手把手带你深入剖析Retrofit v2.0的源码,希望你们会喜欢在阅读本文前,建议先阅读文章:这是一份很详细的 Retrofit 2.0 使用教程(含实例讲解)目录1. 简介特别注意:准确来说,Retrofit 是一个 RE...转载 2017-10-25 10:35:09 · 579 阅读 · 0 评论 -
Android Studio不能走到断点的原因?
可能是由于buildTpes{ debug{ minifyEnable true }}此时设定为 false 可解决原创 2017-10-25 15:05:00 · 5160 阅读 · 0 评论 -
Android 学习书单
视频,公众号,博客,书,源码是一个学习的整体。提升的过程中应当将零碎的知识通过实践之后整合到自己的知识体系当中。下面是自己对于Android书籍部分的一个简单列举Android入门《第一行代码》《Android群英传》《Android群英传-神兵利器》Android中级《Android高级进阶》《Andriod进阶之光》《Android开发进阶:从小工到专家》《Android开发艺原创 2017-09-12 00:28:34 · 552 阅读 · 0 评论 -
Android WebView 的缓存机制 & 资源预加载方案
一、简介Retrofit是Square公司开发的一款针对Android网络请求的框架,Retrofit2底层基于OkHttp实现的,OkHttp现在已经得到Google官方认可,大量的app都采用OkHttp做网络请求,其源码详见OkHttp Github。本文全部是在Retrofit2.0+版本基础上论述,所用例子全部来自豆瓣Api首先先来看一个完整Get请求是如何实现:...转载 2017-03-24 16:43:38 · 1452 阅读 · 0 评论 -
Android 性能优化:使用 Lint 优化代码、去除多余资源
http://blog.youkuaiyun.com/u011240877/article/details/54141714快来优化你的项目吧~读完本文你将了解到:什么是 Lint、Lint 工作方式简单介绍、从命令行运行 Lint、Android Studio 中使用 Lint、团队中建立代码规范利器提升降低问题的等级、Lint 虽好也不能贪杯、在 Java 代码中忽略 Lint 警告、在 XML代码中忽略 Lint 警告、Gradle 中配置 Lint、自动删除查找出来的无用资源文件转载 2017-02-15 17:28:26 · 603 阅读 · 0 评论 -
Android 性能优化
合理管理内存 节制的使用Service 如果应用程序需要使用Service来执行后台任务的话,只有当任务正在执行的时候才应该让Service运行起来。当启动一个Service时,系统会倾向于将这个Service所依赖的进程进行保留,系统可以在LRUcache当中缓存的进程数量也会减少,导致切换程序的时候耗费更多性能。我们可以使用IntentService,当后台任务执行结束后会自动停止,避免...原创 2016-06-01 10:50:07 · 3992 阅读 · 2 评论 -
Android项目快速编译之Freeline-Android的配置与集成
Freeline是蚂蚁金服旗下开发的一个基于动态替换的编译方案,运用到项目后可以极大的提高项目编译速度。相比较现在的instant-run,buck,layoutcast等方案快数倍。 开源地址: https://github.com/alibaba/freeline 相关原理介绍: https://yq.aliyun.com/articles/59122?spm=5176.809原创 2016-12-27 10:38:02 · 575 阅读 · 0 评论 -
Android 异步消息机制
(一)Handler的常规使用方式/** * 测试Activity,主要用于测试异步消息(Handler)的使用方式 */public class MainActivity extends AppCompatActivity { public static final String TAG = MainActivity.class.getSimpleName(); priv...原创 2016-02-17 15:27:37 · 568 阅读 · 0 评论 -
Android 中的 Service 全面总结
service的全面总结:优点、缺点、应用原创 2016-06-23 10:15:22 · 454 阅读 · 0 评论 -
基于Android Studio的内存泄漏检测与解决全攻略
自从Google在2013年发布了Android Studio后,Android Studio凭借着自己良好的内存优化,酷炫的UI主题,强大的自动补全提示以及Gradle的编译支持正逐步取代Eclipse,成为主流的Android开发IDE。Android Studio在为我们提供了良好的编码体验的同时,也提供了许多对App性能分析的工具,让开发者可以更方便分析App性能。Google在IO大会上原创 2016-06-20 16:06:49 · 945 阅读 · 0 评论 -
HybridAPP框架MUI(跨平台移动端应用开发)
在Android和IOS平台上开发应用通过HTML5的方式。由MUI框架快速开发。原创 2015-11-25 09:15:18 · 6496 阅读 · 0 评论 -
Android防止重复点击的解决办法
我们在开发中常会遇到重复点击跳出多个目标界面或重复响应的问题,解决这个问题我首先想到的就是Java线程当中的“同步锁”概念也就是synchronized。一个小工具类的确解决了问题,以下是代码:public class NoDoubleClick { private static long lastClickTime; //这里设定两次点击时的时间间隔,0.1s不太容易点出来吧~原创 2016-03-10 09:28:03 · 976 阅读 · 0 评论 -
Android 如何在service和BroadCastReceiver中 启动activity和alertdialog?
一.启动activity源码:(记得要加上Intent.FLAG_ACTIVITY_NEW_TASK)Intent intent = new Intent(); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setClass(getApplicationContext(),SecondActivity.class); st原创 2016-03-15 09:42:10 · 1881 阅读 · 0 评论 -
Android分包MultiDex原理详解
MultiDex的产生背景当Android系统安装一个应用的时候,有一步是对Dex进行优化,这个过程有一个专门的工具来处理,叫DexOpt。DexOpt的执行过程是在第一次加载Dex文件的时候执行的。这个过程会生成一个ODEX文件,即Optimised Dex。执行ODex的效率会比直接执行Dex文件的效率要高很多。但是在早期的Android系统中,DexOpt有一个问题,DexO原创 2016-06-26 11:19:39 · 449 阅读 · 0 评论 -
关于Android的.so文件你所需要知道的
早期的Android系统几乎只支持ARMv5的CPU架构,你知道现在它支持多少种吗?7种!Android系统目前支持以下七种不同的CPU架构:ARMv5,ARMv7 (从2010年起),x86 (从2011年起),MIPS (从2012年起),ARMv8,MIPS64和x86_64 (从2014年起),每一种都关联着一个相应的ABI。应用程序二进制接口(Application Bi翻译 2016-06-25 21:30:41 · 804 阅读 · 0 评论 -
Android 插件化框架 DynamicLoadApk 源码解析
1. 功能介绍1.1 简介DynamicLoadApk 是一个开源的 Android 插件化框架。插件化的优点包括:(1) 模块解耦,(2) 动态升级,(3) 高效并行开发(编译速度更快) (4) 按需加载,内存占用更低等等。DynamicLoadApk 提供了 3 种开发方式,让开发者在无需理解其工作原理的情况下快速的集成插件化功能。宿主程序与插件完全独立原创 2016-05-10 16:47:12 · 1556 阅读 · 0 评论 -
Android通用流行框架大全
Android通用流行框架大全1. 缓存名称描述DiskLruCacheJava实现基于LRU的磁盘缓存2.图片加载名称描述Android Universal Image Loader一个强大的加载,缓存,展示图片的库Picas原创 2016-05-07 22:19:51 · 1644 阅读 · 0 评论 -
Android中高德地图与百度地图坐标转换
项目中实验数据点取自高德地图,它是火星坐标系统(下面会有解释),而现在希望用百度地图的SDK进行开发,两套不同的规范自然需要进行转换。如何解决这个问题呢?参考了网上很多人的博客和资料。原创 2016-04-13 15:19:46 · 9495 阅读 · 2 评论