Android 屏幕直播方案

项目需求是实时同步 Android 手机屏幕画面至浏览器。这里有两个挑战,一是 Android 如何在应用内获得屏幕实时视频流,另一个是如何在浏览器上做视频直播。经过一番折腾,确定了如下的实现方案。期间,我们也实现了手机摄像头的直播。

Android 内存管理机制

Android 系统是基于 Linux 2.6 内核开发的开源操作系统,而 linux 系统的内存管理有其独特的动态存储管理机制。不过 Android 系统对 Linux 的内存管理机制进行了优化,Linux 系统会在进程活动停止后就结束该进程,而 Android 把这些进程都保留在内存中,直到系统需要更多内存为止。这些保留在内存中的进程通常情况下不会影响整体系统的运行速度,并且当用户再次激活这些进程时,提升了进程的启动速度。

Android 架构思考 (模块化、多进程)

关于模块化 (组件化) 这个问题,我想每个开发者可能都认真的思考过。随着项目的开发,业务不断壮大,业务模块越来越多,各个模块间相互引用,耦合越来越严重,同时有些项目(比如我们公司)还伴随着子应用单独包装推广,影子应用单独发布等等需求,重新调整架构迫在眉睫。今天,我们就来聊聊模块化(组件化),这篇文章同时也是我这几年,对项目架构的理解。

学习 CoordinatorLayout 你需要知道的那些事

想要你的各控件之间有很好的 "联动性" 动画效果, 学会使用这个控件能帮你解决这个问题.

Android - 自定义 view 之无所不能的 path

详解介绍 Android 自定义 View 中 path 的使用,帮助理解自定义 view 绘制过程

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

功能主要包含 5 点:

  1. 基于 ffmpeg 的视频拍摄及合成;
  2. 自定义拍摄按钮, 长按放大并且显示拍摄进度;
  3. 自定义 view, 实现手绘涂鸦;
  4. 自定义可触摸旋转缩放位移的表情文字 view;
  5. 基于 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/a51a...

四大组件之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_stu...。 对技术感兴…

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 程序员的。

更多相关文章

  1. 浅谈Java中Collections.sort对List排序的两种方法
  2. python list.sort()根据多个关键字排序的方法实现
  3. android EditText设置不可写
  4. 浅析android通过jni控制service服务程序的简易流程
  5. Android(安卓)拨号器的简单实现
  6. android实现字体闪烁动画的方法
  7. Android中不同应用间实现SharedPreferences数据共享
  8. 关于Android(安卓)Studio3.2新建项目Android(安卓)resource link
  9. Android平台上优秀的开源项目

随机推荐

  1. Android NDK 入门开发例子(一)
  2. Android中使用ffmpeg库进行音视频开发
  3. adb命令
  4. "app_name" is not translated in "zh" (
  5. Android Intent调用大全
  6. [置顶] android 学习连接 uri
  7. Android如何更新app的版本(中级)
  8. Android(安卓)多个Activity之间共享类(数
  9. android冷启动优化
  10. Android高通平台处理器间通讯驱动