SEU_Calvin的博客

有句话说的很对,会用是一回事,深入理解又是另一回事了 ╮( ̄▽ ̄”)╭

Android开发——断点续传原理以及实现

0.  前言在Android开发中,断点续传听起来挺容易,在下载一个文件时点击暂停任务暂停,点击开始会继续下载文件。但是真正实现起来知识点还是蛮多的,因此今天有时间实现了一下,并进行记录。本文原创,转载请注明出处为SEU_Calvin的博客。 1.  断点续传原理在本地下载过程中要使用数据库实时存...

2016-12-19 22:16:04

阅读数 30808

评论数 165

Android开发——Android中常见的4种线程池(保证你能看懂并理解)

0.前言使用线程池可以给我们带来很多好处,首先通过线程池中线程的重用,减少创建和销毁线程的性能开销。其次,能控制线程池中的并发数,否则会因为大量的线程争夺CPU资源造成阻塞。最后,线程池能够对线程进行管理,比如使用scheduleThreadPool.scheduleAtFixedRate(myR...

2016-09-03 10:44:43

阅读数 50394

评论数 36

Android开发——常见的内存泄漏以及解决方案(二)

0.前言 上一篇Android开发——常见的内存泄漏以及解决方案(一) 中已经对部分可能会引发内存泄漏的情况进行了阐述,此篇将从图片、动画等资源角度介绍可能会造成内存泄漏的情况以及应对方法。6. 集合类导致内存泄漏很常见的一个例子就是图片的三级缓存结构,为了更好的用户体验,缓存机制必不可少,三级...

2016-08-29 10:57:49

阅读数 12786

评论数 2

Android开发——常见的内存泄漏以及解决方案(一)

0. 前言  Android的内存泄漏是Android开发领域永恒的话题,那今天就总结一下常见的内存泄漏吧。也给自己提个醒,在以后的编码过程中多注意这个问题。在Android Studio里可以通过一些分析工具比如MAT来找出潜在的内存泄漏。还有如果不清楚Java里的内存泄漏以及内存泄漏、内存益处...

2016-08-27 12:37:30

阅读数 15715

评论数 3

Android开发——减小APK大小

0.前言APK的大小对APP的加载速度,使用内存大小和消耗功率多少有一定影响。如何减小APK的大小对于Android开发者是一个永恒的话题。那么首先就来了解一下APK的组成结构。 1.APK的组成结构META-INF:包含CERT.SF和CERT.RSA签名文件,和MANIFEST.MF清单文件。...

2016-08-13 18:50:25

阅读数 18060

评论数 4

Android开发——Android7.0的适配注意点小结

首先大致说一下Android7.0特性改动的地方: (1)应用间共享文件限制; (2)对部分广播的后台限制、网络数据节省开关等; (3)多窗口的支持; (4)通知栏支持直接回复消息等。 针对Android7.0的适配总结如下: 1. 应用间共享文件限制 1.1 问题描述 在Androi...

2018-09-05 11:08:26

阅读数 241

评论数 1

Android开发——WebView轻量缓存优化

0. 前言产品被用户投诉 APP 流量消耗厉害:[2017-08-08 07:34:40] 严选 APP 流量消耗太大啦,每次启动都更新,下面流量很大。建议优化流量的消耗,可以对加载画质进行选择。想比淘宝 APP,消耗流量可是大多了。[2017-06-01 21:43:36] 怎么没用有流量节约模...

2017-11-28 12:56:20

阅读数 1932

评论数 3

Android开发——插件化技术中的关键技术浅析

0.  前言在Android开发中,插件化就是让我们的应用可以把一些功能和逻辑单独抽出来放在插件apk中,然后主apk做到按需调用,这样的好处是一来可以减少主apk的体积,二来可以做到热插拔,在不发布新版本的情况下实现更新某些模块,更加动态化。网上有很多插件化的解决方案和框架,但是它们都必须解决几...

2017-09-08 21:05:51

阅读数 998

评论数 3

Android开发——增量更新实战中遇到的问题

0.   前言之前一篇 Android开发——增量更新实战总结介绍了增量更新的具体实现步骤,但是其中有一些坑还是需要注意一下的,这里对遇到的一些坑做一个总结,希望以后遇到这些坑的同学少走弯路。1.  Windows下的编译错误  在上一篇的3.2我们导入源码的过程中,其中为了防止Windows下的...

2017-08-29 18:09:58

阅读数 798

评论数 0

Android开发——增量更新实战总结

0.   前言增量更新的原理还是比较简单的,但是真的实现起来遇到的坑简直让人吐血,我是在windows下实现的,各种各样的坑,各种各样的错误,折腾了整整两天多才完成了,因此记录下来。先介绍下什么是增量更新和为什么我们需要增量更新,当我们发布新版本的时候,一些用户升级并不是很积极,反正我个人是不太喜...

2017-08-29 18:09:31

阅读数 620

评论数 0

Android开发——微信Android架构历史

微信Android诞生之初,用的是常见的分层结构设计。这种架构简单、清晰并一直沿袭至今。这是微信架构的v1.x时代。图1-架构演进到了微信架构的v2.x时代,随着业务的快速发展,消息通知不及时和Android 2.3版本之前webview内存泄露问题开始突显。由于代码、内存、apk大小都在增长,对...

2017-08-13 20:31:54

阅读数 1863

评论数 3

Android开发——贝塞尔曲线解析

相信很多同学都知道“贝塞尔曲线”这个词,我们在很多地方都能经常看到。利用“贝塞尔曲线”可以做出很多好看的UI效果,本篇博客就让我们一起学习“贝塞尔曲线”。贝塞尔曲线的原理贝塞尔曲线是用一系列点来控制曲线状态的,这些点简单分为两类:类型作用数据点确定曲线的起始和结束位置控制点确定曲线的弯曲程度一阶贝...

2017-07-26 16:13:36

阅读数 1578

评论数 0

Android开发——使用ActivityLifecycleCallbacks监控App是否处于后台

0.前言项目中经常会遇到判断App是否工作在后台的情景,除了判断runningTasks这种方法,其实有一种更加优雅的方法,就是使用ActivityLifecycleCallbacks。 1.ActivityLifecycleCallbacksActivityLifecycleCallbacks其...

2017-07-12 21:12:08

阅读数 1852

评论数 0

Android开发——今日头条APK瘦身之路

随着版本迭代,功能增加安装包体积也会慢慢增大。今日头条576版本APK达到了25M,通过一系列的优化,到目前的607版本为12M。本文主要是介绍头条APK瘦身中用到的一些方法。APK分析既然是要优化APK的大小,那首先就得看下APK文件的构成。Android Studio在2.2版本添加 APK ...

2017-07-07 20:02:24

阅读数 1343

评论数 0

Android开发——Android系统启动以及App启动过程

0. 前言  从Android手机打开开关,到我们可以使用其中的app时,这个启动过程到底是怎么样的? 1.  系统上电当给Android系统上电,在电源接通的瞬间,CPU内的寄存器和各引脚均会被置为初始状态,CPU复位之后,程序指针会指向启动地址,从该地址读取并直接运行启动程序的可执行代码,或者...

2017-06-19 16:26:11

阅读数 1645

评论数 1

Android开发——Protocol Buffer的使用(比XML、Json快很多)

0.前言最近的项目里有用到Protocol Buffer,Protocol Buffer是Google公司开发的一种数据描述语言,类似于XML,是一种结构化数据的数据存储格式,可用于数据传输量较大的即时网络通信IM等场景。之所以使用它,说明它是有不可替代的优势,这里借用CarSon的一张图来说明:...

2017-06-11 18:06:38

阅读数 990

评论数 1

Android开发——View的生命周期总结

0.前言今天看到一个概念是View的生命周期,有点懵逼,听说过Activity的生命周期,Fragment的生命周期,对View的生命周期好像没什么概念啊。难道layout、draw这些也算是生命周期的方法吗?因此查阅、整理了一些资料,有了此文。 1.View生命周期相关方法View的生命周期从构...

2017-06-03 22:44:58

阅读数 7097

评论数 1

Android开发——关于RxJava的知识总结

0. 前言RxJava在主页上的介绍://a library for composing asynchronous and event-based programs using observable sequences for the Java VM. //一个在 Java VM 上使用可观测的序...

2017-05-23 20:05:08

阅读数 840

评论数 1

Android开发——收集应用Crash信息到服务器

0.  前言无论是多么完美的应用,总会有Crash的时候,那么收集应用的Crash信息到服务器对开发人员修补BUG来说尤为重要。 本文原创,转载请注明出处:http://blog.csdn.net/seu_calvin/article/details/533119311.  实现原理我们可以自定义...

2017-05-14 22:18:33

阅读数 605

评论数 0

Android开发——Material Design系列之TextInputLayout

0. 前言  TextInputLayout 继承于 LinearLayout,专门用来包裹 EditText或EditText的子类,当用户进行输入动作的时候我们设置的android:hint 属性值会作为提示以动画的形式运动到输入框左上角,错误信息也显示在输入框的下方。有些输入验证是在后台做得...

2017-05-07 13:10:27

阅读数 681

评论数 1

提示
确定要删除当前文章?
取消 删除