Android图形显示系统——下层显示4:图层合成下(硬件合成器) 硬件合成器-HwComposer使用3D合成,需要大面积的像素混合计算和大量的内存传输(GPU读写GraphicBuffer所需),对GPU和DDR来说是一个巨大的负担。在GPU/DDR重度使用的场景(比如玩游戏),会造成发热、卡顿等。 为了提升性能,减少功耗,可以将合成这个过程交由另一个芯片完成,减轻GPU负担。进一步,直接让
# Android BlendMode ImageShader 在Android开发中,我们经常需要使用图像渲染来创建一些特效或者美化UI。BlendMode是Android 12中引入的一个新特性,它可以帮助我们更加方便地对图像进行混合和渲染。结合ImageShader,我们可以实现一些炫酷的效果。 ## 什么是BlendMode BlendMode是Android 12中新增的一个类,用
原创 2024-06-02 05:47:49
234阅读
1.介绍:在画布上绘画时使用的算法。在画布上绘制形状或图像时,可以使用不同的算法来混合像素。BlendMode的不同值指定不同的此类算法。每个算法都有两个输入,即源(即正在绘制的图像)和目标(即要合成源图像的图像)。目的地通常被认为是背景。源和目标都有四个颜色通道,红色,绿色,蓝色和alpha通道。这些通常表示为0.0到1.0范围内的数字。算法的输出也具有这四个相同的通道,其值根据源和目标计算。下
目前,地面沉降问题是我国较为常见的环境地质问题,其巨大的破坏力严重影响城市建筑安全和交通轨道运行。围绕地面沉降的防控与治理,是工程地质、环境地质、轨道交通设计等相关技术人员十分关注的领域,而数值模拟技术是评估防控效果的有效工具之一。本次培训课程针对地面沉数值模拟技术,结合不同行业的需求,详细讲解利用processing modflow软件建立地下水-地面沉降数值模型的流程与步骤,同时,选取真实案例
转载 2024-07-12 09:10:11
25阅读
# 实现“BlendMode.COLOR_BURN android”操作的步骤 ## 介绍 在Android开发中,我们可以使用图像混合模式(BlendMode)来实现图像的合成效果。其中,BlendMode.COLOR_BURN是一种混合模式,它可以实现颜色加深的效果。本文将介绍如何在Android中使用BlendMode.COLOR_BURN来实现这个效果。 ## 实现步骤 | 步骤 |
原创 2023-08-02 09:32:40
288阅读
# 如何在Android 29及以下实现BlendMode 在Android应用开发中,有时你需要使用图像混合模式(BlendMode)来实现更复杂的视觉效果。在Android 29(即Android 10)引入了新的BlendMode API,但对于旧版本的Android(Android 29及以下),我们可以通过其他方式实现类似的效果。在本文中,我们将逐步向您展示如何在Android 29以
原创 8月前
156阅读
深入详解  IOS strong  和 weak今天写点深刻的关于内存管理的东西 IOS  采用arc  管理内存    让程序员不在纠结于内存的开辟释放等繁琐的工作让内存管理更加简单  arc  是类似于垃圾回收机制  当一个对象没有一个强引用 指向它的时候  该 对象就会被自动释放 当
转载 2023-09-06 20:26:54
7阅读
MJRefresh 是 OC 语言里面算是一款比较通用的刷新框架了,可以用于 UITableView 和 UICollectionView 的刷新,从而可以很方便的完成下拉刷新和上拉加载更多。而且可定制程度也很高。最近需要在公司的项目上加入一个刷新的特效,而公司项目用的刷新框架是 MJefresh ,所以在完成需求的同时就顺便把 MJRefresh 框架的源码给看了一遍。然后写下这篇文章总结一下。
基本概念@property用于定义属性,将会自动生成getter和setter方法,并生成带 “_” 的成员变量,同时属性提供了一些可能会使用的特性来进行声明,包括assign(vs copy),weak,strong,atomic(vs nonatomic),readwrite,readonly等 @property本质:@property = ivar(实例变量) + getter/sette
转载 2024-07-04 20:00:42
88阅读
一、中介者模式中介者,顾名思义,即一个处理各种交互集中化操作的角色。面向对象的设计思想鼓励把行为分散到不同的对象中,但是,这种行为的分散可能在一定程度上增大对象之间的关联,增大了系统的耦合度,为后期的维护和扩展带来不便。中介者模式定义了一个集中的场所,对象间的交互可以在一个中介者对象中集中处理,其他对象不必彼此交互,这样就减少了对象之间的关联。定义:用一个对象来封装一系列对象的交互方式。中介者使得
转载 2024-01-17 10:22:04
72阅读
远程推送解决了当APP处于终止状态,client与sever断开时的通信困境,APNS是苹果所提供的一套服务。远程推送要求设备必须保持联网状态,若设备处于断网状态,这APNS将为其保留最后一条推送消息,若设备长时间处于断网状态,则将不再为其保留推送消息。一、APNS的推送机制推送机制如下图所示:Provider就是我们自己程序的后台服务器,APNS是Apple Push Notification
转载 2023-06-25 23:19:18
108阅读
1.格式@property (参数1,参数2,...) 类型 名字; eg: @property(nonatomic,retain) UIWindow *window; 其中参数主要分为三类: • 读写属性: (readwrite/readonly/setter = /getter = ) • setter语意:(assign/retain/copy) • 原⼦子性: (atomicit
转载 2024-05-21 06:38:59
46阅读
1 KVO是什么?  KVO是Objective-C对观察者模式的一种实现,另外一种是通知机制(notification)  KVO提供一种机制,指定一个被观察对象(例如A类),当对象的某个属性(例如A中的字符串name)发生更改时,对象会获得通知,并做出相应的处理。  在MVC设计架构下的项目,KVO机制很适合实现model模型和view视图之间的通讯。  例如:代码中,在模型类A创建属性数据,
转载 2023-07-20 15:26:03
71阅读
简要概述synchronized底层原理 synchronized与可见性JMM关于synchronized的两条语义规定了:线程加锁前:需要将工作内存清空,从而保证了工作区的变量副本都是从主存中获取的最新值。线程解锁前;需要将工作内存的变量副本写回到主存中。大概流程:清空线程的工作内存->在主存中拷贝变量副本到工作内存->执行完毕->将变量副本写回到主存中->释
转载 2024-08-03 14:24:45
28阅读
目录KVC 简介KVC 的基本使用KVC 对(非对象指针类型的值)的处理KVC 的搜索模式通过 KVC 进行字典与模型的相互转换KVC 与集合类型KVC 的集合运算符KVC 对异常的处理KVC 的其他细节自定义 KVC KVC 简介相关文档Key-Value Coding Programming GuideNSKeyValueCoding.h 代码注释KVC 的概念KVC(Key-Value C
转载 2023-10-05 22:56:27
57阅读
这个是色相色谱位于180度夹角(对面)的颜色就是互补色 要计算某种颜色的互补色首先取得这个颜色的RGB数值再用255分别减去你现有的RGB值即可 比如纯黄色:r:255 g:255 b:0那么通过计算 r(255-255) g(255-255) b(255-0)互补色为:r:0 g:0 b:255就
原创 2021-07-20 14:12:28
186阅读
BlendMode.ADD ("add"):通常用于创建两个图像之间的动画变亮模糊效果。■ BlendMode.ALPHA ("alpha"):通常用于在背景上应用前景的透明度。■ BlendMode.DARKEN ("darken"):通常用于重叠类型。■ BlendMode.DIFFERENCE ("difference"):通常用于创建更多变动的颜色。■ ...
原创 2023-02-22 09:23:35
452阅读
KVCKVC(key-Value coding) 键值编码,指iOS开发中,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值。不需要调用明确的存取方法,这样就可以在运行时动态访问和修改对象的属性,而不是在编译时确定。KVC的定义都是对NSObject的扩展来实现的(Objective-C中有个显示的NSKeyValueCoding类别名,而Swift没有,也不需要)。所以对于所有
转载 2023-07-31 21:33:21
83阅读
一、weak 基本用法weak 是弱引用,用 weak 来修饰、描述所引用对象的计数器并不会增加,而且 weak 会在引用对象被释放的时候自动置为 nil,这也就避免了野指针访问坏内存而引起奔溃的情况,另外 weak 也可以解决循环引用。拓展:为什么修饰代理使用 weak 而不是用 assign?assign 可用来修饰基本数据类型,也可修饰 OC 的对象,但如果用 assign 修饰对象类型指向
转载 2024-02-04 21:22:10
116阅读
文章目录 一、KVC(键值编码 key-value-coding) 1、概念 2、简单使用 1> 注册观察者,添加观察对象属性 2> 实现回调方法 3> 移除观察者 4> 测试触发kvo 3、注意细节 二、KVO(键值监听 key-value-observer)
转载 2023-08-18 21:52:12
75阅读
  • 1
  • 2
  • 3
  • 4
  • 5