Android WebView执行GPU命令的过程分析
Android WebView使用的Chromium引擎,虽然没有自己的GPU进程或者线程,但是却可以执行GPU命令。原来,Android WebView会给它提供一个In-Process Command Buffer GL接口。通过这个接口,Chromium引擎就可以将GPU命令提交给App的Render Thread执行。本文接下来就详细分析Android...
View ArticleAndroid WebView硬件加速渲染网页UI的过程分析
Android WebView作为App UI的一部分,当App UI以硬件加速方式渲染时,它也是以硬件加速方式渲染的。Android WebView的UI来自于网页,是通过Chromium渲染的。Chromium渲染网页UI的机制与Android App渲染UI的机制是不一样的。不过,它们会一起协作完成网页UI的渲染。本文接下来就详细分析Android...
View Article25个新安卓库(效果派)
25个新安卓库 英文:25 New Android libraries which you definitely want to try at the beginning of 2017 。 1.Lottie 这是一个能解析Adobe After Effects动画导出的JSON文件并把它们渲染成本地动画的库。在Google Play Store上有一个示例app。...
View Article优雅设计封装基于Okhttp3的网络框架(五):多线程、单例模式优化 及 volatile、构建者模式使用解析
关于多线程下载功能,前四篇博文所讲解内容已经实现,接下来需要对代码进行优化。开发一个新功能并不复杂,难的是考虑到代码的扩展性和解耦性,后续需要进行的bug修复、完善功能等方面。此篇内容主要讲解代码优化,将从线程优化、单例优化、设计优化这三个方面进行讲解。 此篇内容将涉及到以下知识: 线程优化及Linux系统中线程调度介绍 Android中常用的5种单例模式解析...
View ArticleAndroid 开源之StickyHeaderListView 标题渐变、吸附悬停、筛选分类、动态头部
StickyHeaderListView 是基于实际需求做出的灵活可定制的UI功能,具体实现功能如下: 一、支持无限循环的广告位。 二、高度可动态配置的Header2和Header3(使用GridView实现)。 三、主要功能:分类、排序和筛选布局滑动到顶部后吸附、悬停。 四、自定义FilterView筛选控件,支持动画显示与动画隐藏。 五、支持标题栏背景颜色渐变、字体颜色渐变。...
View ArticleReact Native 中的JSX学习
JSX是什么 字面上来看JSX即 JavaScript XML取首字母结合,所以JSX并不是一门新语言,仅仅是个语法糖。 React发明了JSX,利用HTML语法来创建虚拟DOM。当遇到<,JSX就当HTML解析,遇到{就当JavaScript解析。 我们在浏览器运行的时候,JSX语法会通过Babel转换成浏览器认识的JS。...
View ArticleFlutter进阶—自定义主题风格
质感设计的Theme类将主题应用于后代控件,主题描述了应用程序的颜色和排版选择。后代控件使用Theme.of获取当前主题的ThemeData对象,当控件使用Theme.of时,如果主题稍后更改,则会自动重建,以便可以应用更改。我们可以通过Theme.of查看当前应用程序的配色方案。 class _MyHomePageState extends State<MyHomePage> {...
View ArticleAndroid性能优化总结
转载注明出处:http://blog.csdn.net/xiaohanluo/article/details/76546209 1. 缘由 Android系统每隔16ms发出VSYNC信号,对UI进行渲染,如果每次渲染都成功,就能够达到流畅的画面所需要的60fps,为了能够实现60fps,这意味着程序的大多数操作都必须在16ms内完成,时间超出16ms越多,丢的帧就越多。...
View Article优雅设计封装基于Okhttp3的网络框架(六):HttpHeader接口设计实现 及 Response、Request封装实现
到目前为止,多线程下载功能设计、编写、优化工作已经完成,但是网络框架编写工作并没有完成,此篇将完成Http核心架构,编写的新功能还是围绕在http请求上,涉及到的知识点: httpHeader的接口定义和实现 http请求头和响应头访问编写 http状态码定义 http中的 response封装、request接口封装和实现...
View ArticleFlutter实战一Flutter聊天应用(十六)
在上一篇文章《Flutter实战一Flutter聊天应用(十五)》中,我们完成了登陆屏幕。在用户登陆成功后,会在本地创建一个LandingInformation文件,以使应用程序在启动时可以判断用户的登陆状态。...
View ArticleSwift基础之封装蒙版指导视图
相信大家都见到过,一个软件添加了新功能,会给用户使用步骤指导,所以我针对这个功能,便于使用的小demo,希望对大家有帮助。源码中的注释比较详细,这里不再赘述,自行研究:var imageName:String = String()//图片名称 var imageCount:Int = Int()//图片数量 //创建一个类方法,初始化...
View Article优雅设计封装基于Okhttp3的网络框架(完):原生HttpUrlConnction请求、多线程分发 及 数据转换
前5篇博文完成了此框架的一大模块—–多线程下载,而这两篇文章实现另一大模块——Http基本框架封装,在上一篇博文中完成了HttpHeader的接口定义和实现、状态码定义及response、request接口封装和实现,定义了许多接口和抽象类,在接下来编码过程中会体现出程序的扩展性重要性。...
View ArticleAndroid OpenGLES2.0(十八)——轻松搞定Blend颜色混合
Blend是OpenGL中的一个非常重要的部分,它可以让每个输出的源和目的颜色以多种方式组合在一起,以呈现出不同的效果,满足不同的需求。 Blend相关函数及意义 在OpenGLES1.0中,Blend在OpenGLES固定的管线中,OpenGLES2.0相对1.0来说,更为灵活。在OpenGLES2.0中,与Blend相关的函数及功能主要有:...
View ArticleMPAndroidChart项目实战(六)——自定义1MPAndroidChart滑动冲突解决(搞不定产品设计师就只能搞自己)
本文出自:http://blog.csdn.net/dt235201314/article/details/76576618 一丶效果图 二丶功能点技术点 1.解决MPAndroidChart的LineChart在ViewPager+Fragment滑动冲突解决 2.技术点Android Touch事件的分发机制的运用...
View ArticleAndroid 平台的 10 款开源任务管理和时间追踪应用
10 个 Android 手机上的应用程序,它们可以帮助你把时间组织起来,记录你在任务上花费的时间,并确保你不会错过最后的期限。所有的应用程序都是开源的,可以从 F-Droid 存储库中获取,所以大家不妨尝试一下,然后看看它们是否满足你的需求。 Mirakel Mirakel 是一个具有现代用户界面的任务管理应用程序,并支持在这样的程序中可能需要的每种格式。在 Mirakel...
View Article解决UITableView xib添加到Storyboard出现IB Designables错误
之前提过 Swift下自定义xib添加到Storyboard 的方法。最近有人问说按照文中方法会出现IBDesignables错误,导致在xcode Storyboard中无法显示。 这个应该是我漏讲了。如果你的自定义xib中有UITableView,而且UITableViewCell也是xib,一般这个错误肯定是加载的时候找不到对应的Bundle文件了。 错误如下: IB...
View ArticleReact Native flexBox布局(一)
序: 布局想必大家都知道,在iOS 中我们使用代码计算屏幕宽高布局,使用Autoresizing和AutoLayout进行布局。在web中的布局一般都是依靠CSS的盒子模型,09年W3C提出了一种新的布局方案,Flex布局。ReactNative就是选用了这种布局方式。下面我们来看下FlexBox布局吧。 1、FlexBox是什么 Flex 是Flexible...
View ArticleRxSwift使用教程大全 韩俊强的博客
接上一篇:初识RxSwift及使用教程 韩俊强的博客 本文档内容来自于 RxSwift 的 Playground。记录大多数 ReactiveX 的概念和操作符。 (部分翻译和注解来自 ReactiveX文档中文翻译) Introduction 为什么使用 RxSwift? 我们写的很多代码实际上是为了解决和响应外部事件。当用户操作一个控件的时候,我们需要使用 @IBAction...
View ArticleAndroid Studio中Git和GitHub使用详解
一、Git和GitHub简述 1.Git 分布式版本控制系统,最先使用于Linux社区,是一个开源免费的版本控制系统,功能类似于SVN和CVS。Git与其他版本管理工具最大的区别点和优点就是分布式;...
View Article