写给 Android 开发者的混淆使用手册

点击打开链接 毫无疑问,混淆是打包过程中最重要的流程之一,在没有特殊原因的情况下,所有 app 都应该开启混淆。 首先,这里说的的混淆其实是包括了代码压缩、代码混淆以及资源压缩等的优化过程。依靠 ProGuard,混淆流程将主项目以及依赖库中未被使用的类、类成员、方法、属性移除,这有助于规避 64K 方法数的瓶颈;同时,将类、类成员、方法重命名为无意义的简短名称,增加

Android彻底组件化demo发布

(本文提出的组件化方案已经开源,参见Android彻底组件化开源项目) 今年6月份开始,我开始负责对“得到app”的android代码进行组件化拆分,在动手之前我查阅了很多组件化或者模块化的文章,虽然有一些收获,但是很少有文章能够给出一个整体且有效的方案,大部分文章都只停留在组件…

Android OpenGL ES 2.0 完全入门(三):2D 纹理的裁剪、翻转、旋转、缩放

我在去年六月份学习了 OpenGL 的一些基本概念,整理了一个 demo 和两篇文章,并在今年六月份复习修正了一番。不久前我进一步向铁蕾兄学习了四种常用 2D 纹理变换的实现思路(以及本文中的其他总结性文字),由于铁蕾兄实在太忙,无暇快速整理成文,因此我就在这里为他代笔了 :)

最全面总结 Android WebView与 JS 的交互方式(含实例Demo)

前言 现在很多App里都内置了Web网页(Hyprid App),比如说很多电商平台,淘宝、京东、聚划算等等,如下图 京东首页 上述功能是由Android的WebView实现的,其中涉及到Android客户端与Web网页交互的实现 今天我将全面介绍Android通过WebVie…

Android 存储路径你了解多少

Android 存储路径你了解多少

高仿微信视频录制, 涂鸦水印添加, 基于 ffmpeg 视频编辑

功能主要包含 5 点:

  1. 基于 ffmpeg 的视频拍摄及合成;
  2. 自定义拍摄按钮, 长按放大并且显示拍摄进度;
  3. 自定义 view, 实现手绘涂鸦;
  4. 自定义可触摸旋转缩放位移的表情文字 view;
  5. 基于 ffmpeg 的图片和视频合成处理.


初探Android中Window与DecorView

Android中View可以说是最为重要的几个地方之一,包括事件分发,测量,绘制等等,都是非常常见的情况。那么我们要想好好掌握这些知识,就得深入了解Andorid整个View从开始到完成所经历的一系列工作。本文分析的源代码均来自Android API 24。

【Android】状态栏颜色的适配

除了 Mi UI 其他厂商也有定制,Flyme,EMUI,Color OS 以及一加的氢 OS,Smartisan OS 等等,每款定制 ROM 都有其独特之处,不过个人已经习惯了 Mi UI。
MI UI 一个很好的体验就是状态的字体能够变色,黑色变白色,白色变黑色。

我一行代码都不写实现Toolbar!你却还在封装BaseActivity?

原文地址: https://juejin.im/post/590f09... 前言 距离 上篇文章 的发表时间已经过去两个多月了,这两个月时间里我没写文章但一直在更新着我的 MVPArms 框架,让他逐渐朝着 可配置化集成框架 发展 就在前段时间我…

Android 热修复 - 微信 Tinker

简单快速集成微信热修复 Tinker

这不是沉浸式状态栏

前言 首先请大家看几张图: 以上的效果,一般我们统称为沉浸式状态栏。其实,这种叫法不是很准确,而且也没有沉浸式状态栏这一说,只有沉浸模式。以上几种情况,可以称为透明状态栏或者状态栏着色。 一、两种状态 进行Android开发时,有两种方式都会对状态栏进行设置:Translucen…

高级UI特效仿直播点赞效果—一个优美炫酷的点赞动画


Android下载文件(一)下载进度&断点续传

从接触Android开发至今也快两年了,一路走过来可以说是站在巨人的肩膀上前进,真的很感激为开源世界作出贡献的人。话说回来,搞了这么久的开发却一直在用别人的劳动成果也不是回事,所以我决定写几篇文章分享我对Android下载文件的理解,并在最后整合并开源一个框架,也是对我在And…

Android匿名共享内存(Ashmem)原理

阅读之前,不妨先思考一个问题,在Android系统中,APP端View视图的数据是如何传递SurfaceFlinger服务的呢?View绘制的数据最终是按照一帧一帧显示到屏幕的,而每一帧都会占用一定的存储空间,在APP端执行draw的时候,数据很明显是要绘制到APP的进程空间,…

使用 RecyclerView 实现 Gallery 画廊效果,并控制 Item 停留位置

RecyclerView 作为一个列表滑动控件,我们都知道它既可以横向滑动,也可以竖直滑动,可以实现线性布局管理,瀑布流布局管理,还有 GridView 布局管理。其实我们可以控制其 Item 的停留位置,并使其实现画廊效果。如果大家熟悉 SnapHelper 的话,估计大家就…

Android Studio 3.0 新功能解析和旧项目适配

上周四,Google 终于在经历大半年的打磨锤炼之后正式发布 Android Studio 3.0 版本,给广大安卓开发人员一份满意的答卷。如往常一样,每次新版开发工具的发布,很多谨慎点的朋友仍担心稳定性、是否存在坑等问题,选择隔岸观火,等一段时间再更新升级。 经过查看官网对新…

unity3d与android交互

简述 实现unity3d导出到android studio工程并封装为library,供其他工程导入module直接使用。最终效果: 点击ZoomIn、ZoomOut的按钮,通过android端调用unity中方法,进行放大放小; 触摸unity中的3D立方体,调用androi…

玩转APK:实现Android APK瘦身99.99%

摘要: 如何瘦身是 APK 的重要优化技术。APK 在安装和更新时都需要经过网络下载到设备,APK 越小,用户体验越好。本文作者通过对 APK 内在机制的详细解析,给出了对 APK 各组成成分的优化方法及技术,并实现了一个基本 APK 的最小化过程。

开源整理:有趣的Android动画交互设计

各位同学,早上好,今天给大家推荐几个口碑不错且在Github上开源的代码库,如果想让自己的App在交互动画方面变得更有趣,学习一下这些开源项目的代码将会对你有所裨益。
https://github.com/googlesamp... Topeka是…

MIUI 系统 BUG,Android 调用相机崩溃?将拍照适配方案进行到底!

提起 Android 调用系统相机拍照上传图片或者是显示图片,想必任何一位开发 Android 的朋友都不会陌生,基本这个功能已经涵盖各个应用了,今天,我就来给大家聊聊网上并不多见却又经常很操蛋的 Android 7.0 相机适配…

省市区三级联动选择器

经过几个 APP 的开发,发现基本上每个 APP 都有这么一个需求,那就是省市区三级地址的选择,一般都要求类似于 iOS 的滚轮实现,在 github 上面找了一些开源控件实现了一下,发现会出现一些问题,所以就打算自己封装一个,直接嵌入数据源,不需要自己再手动设置数据了,一行代码搞定一个城市选择功能。

有了这些 Chrome 插件,效率提升10倍

Chrome 浏览器深受广大程序员的喜爱,把她称之为一场浏览器革命毫不为过。而它的插件能够极大地提高生产效率,笔者把自己经常用到的感觉不错的插件分享给大家,同时欢迎大伙儿推荐更多更好玩的插件。 0、Proxy SwitchyOmega Proxy SwitchyOmega 是科…

一些关于加速 Gradle 构建的个人经验

目前绝大多数的 Android 项目都是基于 Grale 了,因为 Gradle 确实给我们带来了很多便利,然而,在使用了 Gradle 后,最大的不满就是编译起来太慢了。解决慢的问题无非有两种方法

提升硬件配置,选择 CPU 和内存和硬盘等更优的硬件
在软件方面,减少不必要的耗时,充分利用现有机器的性能。
本文的主要经验围绕着如何减少不必要的耗时操作和如何充分利用机器性能展开。

RecyclerView 使用攻略(刷新篇)

继《RecyclerView 使用攻略(助力篇)》之后,一直没有更新上下拉刷新的功能实现,主要还是受限于个人现有的技术实力,总觉得没有经过实际打磨的,就不敢有上场的自信。虽说现在已经引用到自己的项目上了,但还是得继续跟进优化的。

项目需求讨论 - RecycleView 分页加载实现分析

因为项目需要,需要实现 RecycleView 分页加载功能,看很多文章主要都是直接封装好,拿来给别人用,而没有说明是具体怎么实现,就自己写了一篇分析的。

Android布局优化技巧

一.总体原则:减少布局层次,加快渲染速度 尽量避免RelativeLayout嵌套RelativeLayout 二.重用 标签可以在一个布局中引入另外一个布局,重用共同的布局文件。 比如说共同的标题栏common_title.xml <…

Android彻底组件化方案实践

项目发展到一定程度,随着人员的增多,代码越来越臃肿,这时候就必须进行模块化的拆分。在我看来,模块化是一种指导理念,其核心思想就是分而治之、降低耦合。而在Android工程中如何实施,目前有两种途径,也是两大流派,一个是组件化,一个是插件化。 组件化是一个整体吗?去了头和胳膊还能…

Android中View的绘制流程

View的绘制流程是从ViewRootImpl的performTraversals方法开始,它经过measure、layout和draw三个过程才能最终将一个View绘制出来。 1、measure,即测量的意思,measure方法是在View中,它是final类型,意味着and…

android强大的SpannableStringBuilder

SpannableStringBuilder和SpannableString的区别类似与StringBuilder、String,就是SpannableStringBuilder可以拼接,而SpannableString不可拼接。 SpannableStringBuilder和…

Android优化方案之--Fragment的懒加载实现

在Android应用中,ViewPager是我们不可避免使用的一个控件,因为它可以使我们在占用较少空间的同时,增强内容的丰富性,同时以其内部流淌着Google的血液,所以它几乎成了每一个App的标配控件。但是,假如ViewPager的每一个Fragment都需要通过网络拉取数据加载,而ViewPager是默认加载前两项的,所以在很容易造成网络丢包或者网络堵塞等问题,所以Fragment使用懒加载是非常有必要的。

Android 中直播视频技术探究

最近各种视频直播 app 到处都是,各种霸屏,当然我们也是需要体验的,关于视频直播的软件这里就不介绍了,在不是技术的人来看,直播是一种潮流,是一种娱乐方式,但是作为一个搞技术的,我们除了看看,更重要的是学习技术,其实 Android 中的视频技术没什么说的,因为网上的资料很多,但是之前的视频技术大部分都出现在了视频播放,就是主流的视频播放器,那个最重要的一个技术就是视频的编解码,这个也会在后续文章中详细介绍视频的处理技术。但是现在直播的技术是在之前的视频技术上又有了一个要求就是视频录制,现在录制很多是借助于牛逼的硬件摄像头。但是除了这个技术,还有其他的我们使用移动设备也可以去解决这个问题。这个后续也会说道如何使用设备去录制视频。

Android 开发中如何动态加载 so 库文件

我想对于静态加载 so 库文件,大家都已经很熟悉了,这里就不多说了。在 Android 开发中调用动态库文件(*.so)都是通过 jni 的方式,而静态加载往往是在 apk 或 jar 包中调用so文件时,都要将对应 so 文件打包进 apk 或 jar 包。 动态加载的优点 …

RecycleView开源项目BRVAH分析

阅读源码对更好的理解和使用开源软件有莫大的帮助

谈谈 WebView 的使用

谈谈 WebView 的使用 -(从零开始搭建 android 框架系列(5))

MVP架构开发,一篇让你从看懂到会使用

现在网上关于mvp架构的文章有很多,但是对于一些不是特别理解这个架构的开发者,不是很友好,所以,我要写一篇博客,通过我的努力,让大家能够更好的理解他,并使用他。下面是我这片文章要讲解的内容。

让我们从第一部开始,一步步走进mvp。

5 个 Android 开发中比较常见的内存泄漏问题及解决办法

在Android程序开发中,当一个对象已经不需要再使用了,本该被回收时,而另外一个正在使用的对象持有它的引用从而导致它不能被回收,这就导致本该被回收的对象不能被回收而停留在堆内存中,内存泄漏就产生了。

自定义粘性下拉刷新

原创 2017年08月09日 19:51:35 编辑 删除 在android中自定义的下拉刷新很常用,尤其是在刷新页面更新数据的时候,b比较炫酷的下拉刷新可以赋予一个页面比较好的交互体验; 下面先来看…

android中带索引的列表-----索引的高级使用

在Android中索引无处不在 比如通讯录 方便检索信息的展示页等
下面介绍一个实用的索引demo

RecyclerView 优雅封装

对 Android 中 RecyclerView 的优雅封装,能够实现低耦合的下拉刷新,上拉加载更多,支持类似 ListView 的多 HeaderView、FooterView。扩展性强,能够自定义下拉、上拉个性化 View。

玩转仿探探卡片式滑动效果

玩转仿探探卡片式滑动效果

一个故事讲完 Https

以故事的形式向你介绍网络安全中的常见问题

Android 中基于物理特性的动画简介

基于物理特性的动画依赖于物理学定律,这能在动画中表现出高度的现实感。

类似支付宝首页——RecyclerView 多布局结构实现

大家都知道,RecycleView 默认只能通过 setLayoutManager() 方法指定一种布局结构,那么像支付宝首页这样复杂的多布局情况如何处理呢?在 ListView 中,我们也遇到过这种情况,是通过 getItemViewType 结合其他方法,通过判断类型来加载不同的布局。在 RecycleView 中也同样使用,今天我们主要介绍 RecycleView 多布局实现,其中布局嵌套了 GridView,有些坑需要注意,避免陷入。

Android 开发时,那些相见恨晚的工具或网站!

在实际 Android 开发过程确实会有很多相见恨晚的工具或网站出现,本文是我自己的一些分享。

干货 | Android高级动画(2)

Android高级动画进阶,矢量动画。

2017 Android 最全面试总结 - 这些面试题你一定需要

涉及到了 Android 的方方面面,引用了不少资源,也可以作为学习大纲。

Google 官方推出应用开发架构指南

虽然说 Android 的架构选择一直都很自由,MVP、MVC、MVVM 各有拥趸。但 Google 最近还是推出了一份关于应用架构的实践指南,并给出了相当详尽的步骤和一些指导建议。希望大家都能看一看,学习一下,打造更加优秀易用的 APP,也为 Android 生态的改善做一点贡献。: )

Android 自定义——点赞效果 (仿 Twitter)

通过自定义控件,意欲模仿 Twitter 的点赞效果。

Android Gradle 常用使用场景实现方式的总结

Gradle 作为一款灵活多变的构建插件,与 Android Studio 的结合,能够解决过去使用 Eclipse 开发 App 时所遇到的诸多问题。同时,基于 Groove 这样一款 DSL 语言的脚本特性,记住各种语法显然又是一件比较困难的事情。 事实上,Gradle 插…

从零开始的 Android 新项目 2 - Gradle 篇

相信大家的项目用上 gradle 都已经很久了,但用得如何呢?本篇文章介绍了依赖管理,版本号管理,签名保护,Java8 支持,Apk Splits、module aar 等最佳实践

更多相关文章

  1. 个人总结--Android(安卓)应用开发中国大学生挑战赛
  2. Android(安卓)UI开发——使用Fragment构建灵活的桌面
  3. 杭州android两年开发的面试经历体会
  4. 布局Layouts之LinearLayout线性布局
  5. 在android设计中,如何在有限的界面上做布局
  6. Android开源计划-一周开发app
  7. Android开发之旅:环境搭建及HelloWorld (AVD无法启动,出现Starting
  8. Android中Fragment的用法总结
  9. android开发者的42个必读网站

随机推荐

  1. 版本管理·玩转git(快速入门git)
  2. Spring 响应式编程 随记 -- C1 为什么选
  3. 创建商城项目数据库表
  4. 追格小程序分销推广返现计划来了,zui高30%
  5. 记录下我的副业,4个月赚200%,门槛不高
  6. PHP用数据库类实现数据库增删改查
  7. 类的封装、继承和多态
  8. PHP中操作任意精度大小的GMP扩展学习
  9. Scala 两数之和
  10. 前端异常监控和容灾