移动开发

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

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

ThreadLocal 超强图解,这次终于懂了~

前言 大家好,我是小彭。 在前面的文章里,我们聊到了散列表的开放寻址法和分离链表法,也聊到了 HashMap、LinkedHashMap 和 WeakHashMap 等基于分离链表法实现的散列表。 今天,我们来讨论 Java 标准库中一个使用开放寻址法的散列表结构,也是 Java & Android “面试八股文” 的标准题库之一 —— ThreadLocal。 本文源码基于

Lifecycle的使用

前言 作为jetpack的第一篇,我还会附带解释下一些比较模糊的概念。下面来讲解下jetpack相关知识。 今天涉及知识: jetpack与AndroidX Lifecycle用来做什么 Lifecycle使用步骤 结合具体例子讲解Lifecycle的使用 4.1 添加Lifecycle依赖 4.2 在 Activity 布局中添加自定义控件的引用 4.3 在 Activity 中添加生

MediaSession 简介

MediaSession 简介 本文主要是介绍下MediaSession,结合framework源码例子,最后看如何使用MediaSession 来监听A2DP的播放行为 MediaSession 主要是用来控制播放行为,如播放、暂停等行为,不过这个控制行为是由另外一个进程来操作的,举个例子,比如文件管理器进程在播放视频,此时你可以通过语音助手识别语音暂停、快进等命令,然后通过MediaSessi

Android动态修改vector颜色

android为我们是提供了在代码中动态设置 vector 的颜色的方法。 这是一个 svg 类型的返回 icon,取名icon_back.xml,可以直接放在drawlable文件夹中 <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" andro

从Unity到iOS:手把手教你使用Xcode运行Unity项目

目录核心原理:为什么需要Xcode?准备工作:进入Apple生态系统的必备条件硬件与软件要求开发者账户选择实战教程:五步完成iOS部署第一步:Unity平台设置第二步:关键设置第三步:生成Xcode工程第四步:Xcode签名配置第五步:运行与调试常见问题与解决方案签名失败权

Swift中的Any、AnyObject、AnyClass介绍

概念 AnyObject:可以表示任何类类型的对象实例,所有类都隐式地遵循 AnyObject; Any:可以表示任何类型,包括基础数据类型、枚举类型、结构体、函数类型等; AnyClass:表示类的元类型,是AnyObject.Type的别名:定义typealias AnyClass = AnyObject.Type; 我们可以说AnyObject是Any的子集,Any和AnyObject

iOS自动化核心要素之WDA.app

1. 为WDA这个APP申请bundleid,即应用idStep1、使用苹果开发者账号登录 Apple Developer 网站。Step2、进入 Certificates, Identifiers & Profiles 在左侧菜单选择 Certificates, Identifiers & Profiles(证书、标识符和配置文件)。        依

2023年最新iOS 面试题

所有的经历都是成长,所有的磨难都是历练!加油!! 大概捋了一下iOS面试知识点,以此作为大纲希望自己能有目标有计划地准备面试,后面我会逐个复习一下相应的内容,同时也会添加遗漏的知识点到文本,并记录下自己的笔记分享出来。喜欢的可以收藏,大家一起努力。 一、OC 1、OC之对象 什么是内存对齐,内存对齐规则是什么样的? 内存对齐计算(x + (8-1)) & ~(8-1) 和 (x + (