app的好用框架
Android 屏幕直播方案
项目需求是实时同步 Android 手机屏幕画面至浏览器。这里有两个挑战,一是 Android 如何在应用内获得屏幕实时视频流,另一个是如何在浏览器上做视频直播。经过一番折腾,确定了如下的实现方案。期间,我们也实现了手机摄像头的直播。
Android 内存管理机制
Android 系统是基于 Linux 2.6 内核开发的开源操作系统,而 linux 系统的内存管理有其独特的动态存储管理机制。不过 Android 系统对 Linux 的内存管理机制进行了优化,Linux 系统会在进程活动停止后就结束该进程,而 Android 把这些进程都保留在内存中,直到系统需要更多内存为止。这些保留在内存中的进程通常情况下不会影响整体系统的运行速度,并且当用户再次激活这些进程时,提升了进程的启动速度。
Android 架构思考 (模块化、多进程)
关于模块化 (组件化) 这个问题,我想每个开发者可能都认真的思考过。随着项目的开发,业务不断壮大,业务模块越来越多,各个模块间相互引用,耦合越来越严重,同时有些项目(比如我们公司)还伴随着子应用单独包装推广,影子应用单独发布等等需求,重新调整架构迫在眉睫。今天,我们就来聊聊模块化(组件化),这篇文章同时也是我这几年,对项目架构的理解。
学习 CoordinatorLayout 你需要知道的那些事
想要你的各控件之间有很好的 "联动性" 动画效果, 学会使用这个控件能帮你解决这个问题.
Android - 自定义 view 之无所不能的 path
详解介绍 Android 自定义 View 中 path 的使用,帮助理解自定义 view 绘制过程
高仿微信视频录制, 涂鸦水印添加, 基于 ffmpeg 视频编辑
功能主要包含 5 点:
- 基于 ffmpeg 的视频拍摄及合成;
- 自定义拍摄按钮, 长按放大并且显示拍摄进度;
- 自定义 view, 实现手绘涂鸦;
- 自定义可触摸旋转缩放位移的表情文字 view;
- 基于 ffmpeg 的图片和视频合成处理.
RecyclerView 下拉刷新、上拉加载更多以及复杂列表布局的实现
关于 recyclerView 大家一定不陌生,可以实现 listView,gridView,瀑布流的功能,高度的解耦,异常的灵活,通过设置它提供的不同 LayoutManager,ItemDecoration , ItemAnimator 实现令人瞠目的效果。
Java 线程面试题 Top 50
不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java 语言一个重要的特点就是内置了对并发的支持,让 Java 大受企业和程序员的欢迎。大多数待遇丰厚的 Java 开发职位都要求开发者精通多线程技术并且有丰富的 Java 程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。
开发直播 app 中要了解的原理
开发直播 app 中要了解的原理
从一个简洁的进度刻度绘制中了解自定义 View 的思路流程
从一个简洁的进度刻度绘制中了解自定义 View 的思路流程,理出我们一步步实现自定义效果的思路。
四大组件之Service_AIDL
[文章内容来自Developers] AIDL(Android 接口定义语言)与您可能使用过的其他 IDL 类似。 您可以利用它定义客户端与服务使用进程间通信 (IPC) 进行相互通信时都认可的编程接口。 在 Android 上,一个进程通常无法访问另一个进程的内存。 尽管如此…
功能强大的 Vitamio 视频播放器的使用教程
功能强大的 Vitamio 视频播放器的使用教程
这可能是最精简的 Android6.0 运行时权限处理,70 行代码的工具类。附: 各种权限详细处理
对于 Android6.0 运行时权限的处理方式网上有很多,包括注解,RxJava 等等。一直没有正面提到我关心的问题 -- 如果我不在 Activity 或者 Fragment 里面,需要运行时权限该怎么去做?导致我开始一直以为运行时权限的处理必需要在 Activity 或者 Fragment 之中。
那么:
我有一个录音的自定义控件在很多页面需要使用怎么办?
我有一个联系人列表,要在 adapter 里面拨打电话怎么办?
我有一个定位的工具类要在多个页面使用怎么办?
等等...
我们只需要把回调 onRequestPermissionsResult 方法放到 Activity 基类里面,通过工具类调出来,加一个处理结果的回调即可。那么一不做二不休,我们有没有考虑过 Fragment 里面的处理其实是多余的,我们可不可以都放到 Activity 里面来处理,事实证明是可以的。于是就化繁为简产生了我的 XPermissionUtils
Android 性能优化的方方面面
通常项目比较大的 APP 都面临着如下性能问题,APP 启动慢、界面跳转慢、事件相应慢、滑动和动画卡顿、展现内容慢等,有的公司处理的很好,有的还有很大的优化空间,对于性能优化,怎么去做,我总结了一下性能优化如何入手,Android 性能优化这个系列目前已经完成 11 篇,涉及到常用内存优化工具的使用,比如 Memory Monitor、MAT、Allaction Tracing、TraceView 等,也涉及到如何提高应用的启动速度以及页面的渲染速度,还有流畅度的检测。学会这些,基本上可以处理一般的性能问题了,这段时间需要研究插件化和算法,实在抽不出来时间去总结学习性能优化的相关知识了,日后会在此页面中更新。
一个 TextView 完成显示全文与隐藏功能
经常遇到大段文本需要部分展示的场景,通常的做法是在隐藏的状态下文本末尾加上「显示全文」,在展开的状态下文本末尾加上「隐藏」来控制文本的展示状态。这个交互可能有很多种实现方法,本文则以一个简单的 TextView 来实现这些交互,封装后的 CollapsiableTextView 仅增加了不到 70 个额外的方法数。
RecyclerView 实现拖拽排序和侧滑删除
RecyclerView 实现拖拽排序和侧滑删除
2017 年初你绝对想尝试的 25 个新安卓库
这是一份 2017 年 1,2 月份发布的 25 个最佳安卓库的列表,你应该会喜欢,虽然是按顺序排列的,但排名不分先后。让我们开始吧!
Android 倒计时按钮
CountDownButton 是一个具有倒计时功能的自定义按钮
可拖拽排序合并内容并分类的自定义控件
可拖拽排序合并内容并分类的自定义控件
简书地址: http://www.jianshu.com/p/a51a93366406
四大组件之Activity_Fragment
[文章内容来自Developers] ###片段Fragment表示 Activity中的行为或用户界面部分。您可以将多个片段组合在一个 Activity 中来构建多窗格 UI,以及在多个 Activity 中重复使用某个片段。您可以将片段视为 Activity 的模块化组成部…
系统自带 DownloadManager 详解
再也不用为下载 apk 伤脑筋了。
用 ClipDrawable 实现音频录制麦克风讲话效果
由于最近项目开发需要用到自定义 SeekBar,于是又对 android 下的各种类型 drawable 进行了一个全面系统的认识,只能感慨 drawable 的功能还是很强大的。通过自定义 SeekBar 有感而发,尝试用 ClipDrawable 实现音频录制过程的一个麦克风录制效果。
Lottie 开源动画库介绍与使用示例
本文介绍了最近十分火热的开源移动端跨平台动画解决方案 Lottie 库. 结合相关软件安装与配置、代码集成等信息, 给大家分享初步上手 Lottie 的一些使用技巧与心得.
BadgeView: 一个可以自由定制外观、支持拖拽消除的 MaterialDesign 风格 Android BadgeView
一个可以自由定制外观、支持拖拽消除的 MaterialDesign 风格 Android BadgeView
【设计模式 Android】设计模式六大原则
有几天没发文章了,一直有人在公众号问我关于观察者模式的问题,所以我决定抽时间写一写关于设计模式的内容。今天先介绍一些基础的东西。 六大原则 我以前在面试别的人的时候,总是喜欢聊聊设计模式,因为总感觉功能部分都能写出来,但是代码质量和代码设计的东西熟练,才能更好地跟团队配合,方便…
关于 Volley 的最简单讲解,你想知道的都在这儿了
volley、okHttp、retrofit 学习(一)之——你想知道的关于 volley 的请求过程
Android 仿今日头条的开源项目
看到众多大神纷纷有了自己的开源项目,于是自己琢磨着也想做一个开源项目来学习下,因为每次无聊必刷的 app 就是今日头条,评论简直比内容都精彩,所以我打算仿今日头条来练练手,期间也曾放弃过,也遇到很多坑,拿出来跟大家分享一下,喜欢的记得给个 Star,当作是给我的鼓励和动力吧。
Android 工程师角度分析 App 使用的开源框架 - 1. 支付宝
源码角度分析
一个五年 Android 开发者百度、阿里、聚美、映客的面试心经
一个五年 Android 开发者百度、阿里、聚美、映客的面试心经
20 多个可以提高你安卓开发技能的开源 app
学习的最佳方式就是阅读,对程序员来说也是如此。如果你想成为一个更优秀的程序员,你必须阅读更多的代码,就是这么简单。书籍,博客,论坛在某种程度上都是有益的,但是没有什么能替代功能完善、代码详细的开源项目。整个 app 的所有相关资源都直接呈现在你面前。
高效 Android 开发者的工具库
这篇文章介绍开发者如何学习提高以构建更好的 app,我将分享一些自己受益过的教程和资料。
EventBus 官网介绍译文
边翻译边学习,EventBus 官网介绍,若翻译不当请担待
安卓代码动态切换 APP 启动图标
实现天猫、京东等 APP 双 11 动态切换 icon 的功能
工具类之 FragmentUtils
对 fragment 操作封装的工具类
Android 调用系统相机,拍照,并上传图片所注意的一些问题
其实 android 拍照这个地方还是有很多注意事项的,我在上个项目中就遇到一些坑,因此我想把它记录下来,希望能帮助一些跟我遇到的同样的问题的人
android WebView详解,常见漏洞详解和安全源码
这篇博客主要来介绍 WebView 的相关使用方法,常见的几个漏洞,开发中可能遇到的坑和最后解决相应漏洞的源码,以及针对该源码的解析。 转载请注明出处:http://blog.csdn.net/self_study/article/details/54928371。 对技术感兴…
2017 年 1 月最火的五个 Android 开源项目
我们帮你搜集到一月份最好的 5 个 Android 类库,准备好花生、瓜子和饮料,来看看有什么吧!
java/android 设计模式 - 结构模式之外观模式
讲述设计模式之外观模式
GreenDao 数据库:使用 Raw 文件夹下的数据库文件以及数据库升级
在基于 greenDao 框架下使用 Raw 文件下的数据库文件以及数据库升级实现方案。
android 属性动画知识
列出了 android 中属性动画的基础知识点,让你可以轻轻松松就掌握它。
Android 源码解析 Handler 系列第(三)篇 --- 深入了解 Android 的消息机制
Android 的消息机制我觉得是每一个弄 Android 开发的人都要弄懂得问题,也有很多人对它进行研究,Android 的消息机制的重要性不强调,但是觉得自己对 Android 的消息机制了解不深刻,所以决定深入源码,写下五篇博客以记之。因为 Message 全局池和 ThreadLocal 对 Android 的消息机制理解很重要,附上前两篇的博客地址。
Android 源码解析 Handler 系列第(一)篇 --- Message 全局池
Android 源码解析 Handler 系列第(二)篇 --- ThreadLocal 详解
面试感悟:一名 3 年工作经验的程序员应该具备的技能
因为和同事有约定再加上自己也喜欢做完一件事之后进行总结,因此有了这篇文章。这篇文章大部分内容都是面向整个程序员群体的,当然因为本身是做 Java 开发的,因此有一部分内容也是专门面向咱们 Java 程序员的。