移动开发

Android Handler之同步屏障机制(sync barrier)

Handler Message种类 Handler的Messgae种类分为三种: 普通消息 异步消息 屏障消息 其中普通消息又称为同步消息,我们平时发的消息基本都是同步消息,在这里不做讨论。 异步消息 通常我们使用Handler想消息队列中添加的Message都是同步的,如果我们想要添加一个异步的Message,有以下两种方式: 1、Handler的构造方法有个async参数,默认的构造方法此参数

iOS 设计模式的应用 ⑨ 中介者模式

前言     在 App 中,我们常常遇到多个 UI 元素之间相互依赖,比如当列表框中的某一项被选中时,UILabel 会被更新为列表框中选定的值。又或者当用户在文本框输入了新的值时,需要将这个新的值加入到列表框的列表中。当更多的 UI 元素参与到这一错综复杂的关系之中时,情况可能变得难以控制,元素之间需要彼此了解并相互操作。又或者当从一个页面跳转到另一个页面时,需要了解目标页面所需参数等等。这个

学习autorelease

关于@ autoreleasepool{} 在main方法中有一个@autoreleasepool{} int main(int argc, char * argv[]) { NSString * appDelegateClassName; @autoreleasepool { // Setup code that might create autoreleased

Android Framework利用OpenGL修改开机动画

目录 效果展示 实现步骤 1.修改BootAnimation 这里我们需要修改BootAnimation.h和BootAnimation.cpp 首先由于我们是多绘制了一个图片,因此我们需要多增加一个纹理,所以需要先修改BootAnimation.h,把mAndroid这个Texture数组改为3(之前为2) 然后在BootAnima

第04章:DynamicDataDisplay 折线图(MVVM).md

【目录】DynamicDataDisplay - 简书 一、概述 本文介绍使用DynamicDataDisplay绘制折线图,将在ViewModel中定义数据源,然后再Xaml中进行绑定。 二、演示 三、实现 第一步:新建项目 1.新建项目D3BaseLineMVVMDemo 2.添加Nuget包:DynamicDataDisplayReloaded 第二步:新建Ma

RE: 从零开始的车载Android HMI(一) - Lottie

1.前言 多年以前汽车还是以机械仪表主体的年代,各大汽车主机厂商并不十分关注操作系统UI的交互功能,但是随着车载SOC算力的不断提高以及主机厂商对汽车座舱竞争的白热化。座舱的HMI在设计上在强调功能性的同时也开始关注UI的艺术性,HMI的设计师们期望艺术与功能应该协同工作,让用户沉浸在“第三空间”的体验中。 有了需求程序员就需要关注如何实施和落地,然而Android应用本身虽然有着完整的动画框架支

iOS端屏幕录制开发指南

一、 概述 实现直播过程中共享屏幕分为两个步骤:屏幕数据采集和流媒体数据推送。前对于 iOS 来说,屏幕采集需要系统的权限,受制于iOS系统的限制,第三方 app 并没有直接录制屏幕的权限,必须通过系统的功能来实现。 本文将描述iOS系统的屏幕共享的应用、实现、限制、实现细节等方面调研结果。(注:由于iOS 10和之前的系统只支持App内录制屏幕,所以只做简单的介绍,不做详细说明) 二、 应用 屏

Spring之@Autowired依赖注入探究

前言 使用Spring,@Autowired注解肯定再熟悉不过了,今天彻底探究一下@Autowired实现的源码细节 实现 其实这个实现方式其实思路很简单: 就是在bean容器中找到type==@Autowired修饰的类型的bean,然后通过反射给属性赋值即可 道理很简单,但还是看代码证实一下,并关注一些实现细节 例子 写一个简单的例子,为方便后续说明 // B Service @Service

子线程发出的通知,主线程如何接收处理

1.关键点是在主线程的runloop中加入一个machport2.在子线程中,1)将要发出的通知加入一个数组中,然后通过主线程中的machport发出消息2)在主线程中接收port来的消息,但其内部其实是访问主线程生成的数组(该数组在子线程中也能进行操作,怪不得要加锁)即可。3.注意在主线程中处理通知的要区分出来当前线程(通知的监听者还能处理不同线程的)4.NSMachPort是线程间通信的一种方

SDWebimage 分析

SDWebimage 源码分析 这家伙其实就是完成了 异步解压缩+缓存策略 options的所有枚举类型 typedef NS_OPTIONS(NSUInteger, SDWebImageOptions) {  //失败后重试 SDWebImageRetryFailed = 1 << 0, //UI交互期间开始下载,导致延迟下载比如UIScrollView减速 S