Tensorflow MNIST for Android
本篇博客主要介绍如何使用 tensorflow 通过 CNN 实现 MNIST 手写数字识别问题,并将模型持久化在Android端运行。 整体介绍 主要需要通过以下几步: 模型生成过程:使用 tensorflow 通过 CNN 的方式实现 MNIST 手写数字识别,并将最后训练好的模型持久化(这里模型以 .pb...
View ArticleKotlin学习记录(四)—— 常用集合的使用
接上篇: Kotlin学习记录(三)—— 子线程获取数据,实现简单ListView 集合在程序中的比例的很重的,Kotlin针对集合进行了更加简洁和有效的封装,这边文章就简单的介绍一下list,map,set这三个最常用集合的使用。 首先在Kotlin中,明确区分了集合的只读和可变。 Iterable接口声明了Kotlin中集合的通用方法,是最基本的接口。...
View ArticleKotlin学习之-5.2 属性和成员
Kotlin学习之-5.2 属性和成员 定义属性 Kotlin中,类可以有属性。它们既可以用var关键字定义成变量,也可以用val关键字定义成只读量。 class Address { var name: String = ... var street: String = ... var city: String = ... var state: String? = ... var zip:...
View ArticleKotlin学习记录(五)—— 条件表达式的使用
接上篇: Kotlin学习记录(四)—— 常用集合的使用 if/else: 直接上代码吧: var x: Int = 666 var y:Int if(x>0){ y=x }else{ y=0 } 是的,和Java没啥区别!真的没啥区别吗?那这样呢: val z=if(x>0) x else 0 觉得还不够简单?那这样呢: val a= x ?: x ?: 0...
View ArticleAndroid WebView简要介绍和学习计划
我们通常会在App的UI中嵌入WebView,用来实现某些功能的动态更新。在4.4版本之前,Android WebView基于WebKit实现。不过,在4.4版本之后,Android WebView就换成基于Chromium的实现了。基于Chromium实现,使得WebView可以更快更流畅地显示网页。本文接下来就介绍Android...
View ArticleAndroid WebView加载Chromium动态库的过程分析
Chromium动态库的体积比较大,有27M左右,其中程序段和数据段分别占据25.65M和1.35M。如果按照通常方式加载Chromium动态库,那么当有N个正在运行的App使用WebView时,系统需要为Chromium动态库分配的内存为(25.65 + N x...
View ArticleAndroid 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 ArticleTango+Unity 日志输出
为 Android 开发 Tango 应用的过程中,日志输出可以有效的帮助我们定位问题,本文讲述如何在 C# 脚本中打印日志并在控制台查看日志。 C# 代码 Debug.Log ("topPointOnHead: " + topPointOnHead.ToString ("G4")); 以及使用 Android 的 Toast 查看实时数据:...
View ArticleDagger2与AndroidInjector
1.遇到的问题 相信使用过Dagger开发Android应用的小伙伴会知道(如果你还不是很了解Daager,可以先看我之前的一篇基本介绍:Dagger2使用攻略),我们会在Activity或Fragment的生命周期方法中执行成员注入。比如这样: public class MyActivity extends Activity { @Inject Test test; @Override...
View ArticleAndroid进阶——自定义View之继承ViewGroup实现自己的ScrollView
引言 前面很多文章都是总结关于自定义控件中自定义View的,总结了下自定义View的通用套路和开发主要步骤,相信对于大家应该更了解自定义View了吧,今天主要总结自定义控件中的另一大分支——自定义ViewGroup的主要知识。 一、ViewGroup概述...
View ArticleKotlin语法基础,基础类型
语法入门 作为一门拥有现代化编程思想的新兴语言,Kotlin语言拥有很多其他成熟语言且根据程序员使用和验证的特性。在抛弃了一些确定的同时也吸收了一些优点,可以说采取了各大语言的精华。同时,对于Kotlin来说,也有自己语言由于其他语言的特性。如:在字符上全面支持了Unicode符号、表达式的行尾可以不用写分好 “;”...
View ArticleiOS中的crash防护(三)KVO造成的crash
最近写的JKCrashProtect的两篇文章得到了一些小伙伴的响应,一些小伙伴已经开始使用JKCrashProtect这个库了,很是开心。我今天在这里重点给大家分享一下有KVO造成的crash。 KVO产生crash的原因...
View ArticleAndroid深入理解Context(二)Activity和Service的Context创建过程
相关文章 Android深入理解四大组件系列 Android深入理解Context系列 前言 上一篇文章我们学习了Context关联类和Application Context的创建过程,这一篇我们接着来学习Activity和Service的Context创建过程。需要注意的是,本篇的知识点会和深入理解四大组件系列的部分文章的知识点相重合。 1.Activity的Context创建过程...
View ArticleAndroid 逐帧动画:关于 逐帧动画 的使用都在这里了!
前言 动画的使用 是 Android 开发中常用的知识 可是动画的种类繁多、使用复杂,每当需要 采用自定义动画 实现 复杂的动画效果时,很多开发者就显得束手无策 本文将详细介绍 Android 动画中 逐帧动画的原理 & 使用 关于Android 动画的系列文章: 动画的使用,请参考文章: Android 属性动画:这是一篇很详细的 属性动画 总结&攻略 Android...
View ArticleAndroid 安全规约
Android 安全规约汇总了一些安全工具扫描的规则, Android的安全漏洞以及实际项目中需要注意的安全问题. 并分筛选出市面上加固方案和360火线扫描能够覆盖到的, 和需要手工检查的问题. 具体分布如下表所示.规约可以作为开发时的安全手册, 也可以作为上线前的安全问题checklist. 汇总 程序安全 基础环境安全 数据安全 数据传输 火线覆盖 3 1 4 0 加固覆盖 0 4 0 0...
View ArticleKotlin学习之-5.1 类和继承
Kotlin学习之-5.1 类和继承 类 Kotlin中类定义使用关键字class class Invoice { } 定义一个类需要包括类名,类头(包括它的类型参数,主构造函数等等)和类主体包含在成对的花括号。 类头和类主体是可选的, 如果类没有类主体,那么花括号也可以省略 class Empty 构造函数...
View Article