![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 82
瞎猫技术研究员
不积跬步无以至千里:phoenix_tech
展开
-
Tensroflow 手动编译TFLite
本篇主要作为一个操作手册来介绍怎么编译Tensorflow和记录编译过程中踩过的坑建议在编译TFLite之前通读一遍本文,可以少走很多弯路。在安卓上使用TFLite一般可以通过直接在gradle中引用dependencies的方式增加TFlite依赖。但在一些自定义场景下需要我们手动去编译TFlite依赖库,比如在C++下开发了基于Tensorflow Lite的模型或者逻辑。google预编译的TFLite so库的C++ 符号只有基本的几个JNI接口,如果我们想在安卓的C++ 层对TFLite进原创 2020-07-16 16:07:18 · 1624 阅读 · 0 评论 -
Binder通信和启动流程源码详解
所有源码均基于android M本篇从情景化角度出发分析Binder的通信逻辑。其中会涉及到几个概念· media server - 系统多媒体服务· media player server - 多媒体服务下的视频服务· Binder驱动先总结一下本篇所会涉及到的概念和他们之间的关系。media server 是安卓系统中用来管理各个多媒体服务的“服务的服务类”。media server管理着多个服务的启动和加载,包括 AudioFlinger,Camera,MediaPlayerServi原创 2020-05-26 16:14:16 · 949 阅读 · 0 评论 -
Linux内核中断和io
首先考虑一个很简单的问题,假设一段代码a和b,a是cpu密集型运算,b是io密集运算。a的运行时间是O(a)b的运行时间是O(b)如果用同步代码写的话,a+b的运行时间是 O(a+b),用协程写,launch{a+b}的时间C,C < O(a+b) 吗?这个问题的答案是,C确实会小于O(a+b)。很多开发者,包括很多技术大V对协程的解释比较浅,认为没这种好事,C肯定还是等于O(a+b)的。这个结论跟常识其实有点相反。一开始学习相关的技术点会觉得违反常理,但随着学习的深入,会发现这东原创 2020-05-15 15:27:52 · 781 阅读 · 0 评论 -
从暴露年龄的屏保说起-贝塞尔曲线(附Demo)
这个屏保很多90后的朋友可能没见过,当年在windows刚普及不久的时候,很多人的电脑上的屏幕保护程序就是这个。 印象这个屏保叫贝塞尔曲线,其中的每一条线都是一条贝塞尔曲线。 贝塞尔曲线就是今天的主题。 Android中很多地方都用到了贝塞尔曲线,像下面这个水波纹效果就是用贝塞尔曲线做的。什么是贝塞尔曲线Bezier curve(贝塞尔曲线)是一种用数学描述任意曲线的方法。 它...原创 2018-08-21 10:02:00 · 1544 阅读 · 0 评论 -
Android UI开发利器-DataBinding(附Demo)
DataBinding是谷歌官方推出的一个数据/UI绑定框架,官方解释是 The Data Binding Library is a support library that allows you to bind UI components in your layouts to data sources in your app using a declarative format rath...原创 2018-08-21 09:54:07 · 635 阅读 · 0 评论 -
观察者模式--DataBinding的原理和坑
上一次我们介绍了DataBinding的应用,不过只在应用层面描述了下,没有做深入分析。 关于DataBinding的实现原理,它的根本思想是观察者模式。 这篇会结合上次的demo来分析它的原理和坑,关于demo源码可以在后台回复”数据绑定”获得。回顾观察者模式关于观察者模式有一篇详细的文章可以看看, 重新认识观察者模式 简单的说,当数据发生变化的时候,通过 notify通知观...原创 2018-08-22 14:47:21 · 1249 阅读 · 0 评论 -
Android进阶资深开发必备技能-切面编程
切面编程听起来可能有点陌生,不过现在越来越多的开发团队正在使用上这种技术。 先说熟悉的面向对象编程 OOP,通常都是用各种对象/模块来负责具体的功能,互相之间尽量不耦合。 切面编程AOP(aspect-priented programming)是为了解决OOP中耦合无法解除的问题而产生的。打个比方现在项目中有负责 网络/数据存储/UI 几个模块,每个模块都接入了另外一个Log模块。 虽然...原创 2018-07-27 15:03:36 · 217 阅读 · 0 评论 -
三分钟了解Flutter
在刚过去的一周里Google公布了第一个预览版的Flutter, Flutter 的首个「发布预览版」全球发布 如果你接触过React-Native的话,Flutter是一个跟RN差不多的框架。 它支持跨平台运行,一次开发,就可以在Android和IOS上同时运行。很多人预测这会给现在的移动开发带来一些改变,也可能预示着未来Android开发的发展方向。 今天花几分钟了解一下Flut...原创 2018-07-02 18:00:26 · 1310 阅读 · 0 评论 -
揭秘-Android刷量有多容易
做互联网开发的同学可能对流量这个词很熟悉, 在互联网行业中对一个产品的质量有一些关键指标,比如日活DAU,比如次日留存,点击率。 往往评估一个产品的变现能力会通过日活来计算。 因此也就诞生了一些灰色产业,专门在日活上做文章。 而作为金主来说,如何判断一个产品的真实日活就显得非常重要了。 行业潜规则里,你自己家给的日活数据都要打个折。。除非提供了一些第三方的统计数据。今天要说的是一个设...原创 2018-06-12 09:59:53 · 1845 阅读 · 0 评论 -
Android 加载超大图片+源码
XPhotoView不少安卓开发者都有图片加载的处理经验,比如通过压缩节省图片加载中对内存的消耗。 我们经常做的是把一张1280之类大小的图片以适应屏幕大小的尺寸展现出来,同时能够通过缩放来观察。 不过这是一般水平,通过压缩来处理的话通常会导致在最大尺寸放大后看不清细节,比如拿到一张苍老师…哦不,拿到一张清明上河图,或者一张世界地图,这个时候我们要保证在最大限度的放大后仍然能够看清楚每个人物每个原创 2018-05-08 11:26:28 · 3800 阅读 · 0 评论 -
如何跨app对其他应用进行虚拟点击
如何在Android中跨app对其他app发送点击事件原创 2018-04-25 11:22:34 · 7046 阅读 · 0 评论