程序员

Android屏幕适配与资源匹配

Android屏幕适配是个头疼的问题,同时关于这方面的讲解也是烂大街了,那么为什么还要写这篇博文呢,一方面是想基于Google官方教程和个人开发中的经验总结一份准确精炼的教程,另一方面也是作为一个知识备份。 那么,通过本文你可以学到以下这些: 1.Android界面开发中的那些名词的概念2.如何和一…

程序员

iOS调度源

当和底层系统交互时,必须花费大量时间为任务做好准备。调用内核或者其他系统层需要切换上下文,这也是比在进程内部调用昂贵的原因。因此,许多系统库提供异步接口,允许您的代码提交请求到系统,且请求执行时继续做其他工作。GCD允许您使用块和调度队列提交请求并将结果返回到您的代码来建立这种行为。 关于调度源 调…

程序员

XMPPFramework开发(四):电子名片

前言 上一篇博客中我们说到如何通过XMPPFramework中的代理方法来获取到好友节点数据信息,但是我们发现节点信息能展示的只有JID,所以今天我们就说一下在XMPPFramework如何设置名片信息以及如何获取自己的和好友的名片信息. 注册时候的头像的设置 XMPP中的电子名片简介(来自网络&#…

程序员

java自旋锁

概念一种锁,与互斥锁相似,基本作用是用于线程(进程)之间的同步。与普通锁不同的是,一个线程A在获得普通锁后,如果再有线程B试图获取锁,那么这个线程B将会挂起(阻塞);试想下,如果两个线程资源竞争不是特别激烈,而处理器阻塞一个线程引起的线程上下文的切换的代价高于等待资源的代价的时候(锁的已保持者保持锁…

程序员

iOS开发–APP调用打印机(非蓝牙)

日常的生活与工作中,有时候难免需要从 iPhone 手机上打印一些文件内容。由于我们使用的 iPhone 手机与打印机,以及连接打印机的电脑系统平台的差别,从而导致我们的手机不能直接连接打印机。iPhone 其实是支持网络打印的,但只是针对一些特殊的支持的 iPhone 的打印机。这里简单介绍一些方…

程序员

SDWebImage源码解读之SDWebImageCache(下)

第六篇 前言 我们在SDWebImageCache(上)中了解了这个缓存类大概的功能是什么?那么接下来就要看看这些功能是如何实现的? 再次强调,不管是图片的缓存还是其他各种不同形式的缓存,在原理上都极其相似,我们通过SDWebImageCache,来看看作者是如何实现这个功能的。 在业务中,经常要缓…

程序员

探讨iOS开发中各种锁🔐

摘要 平常项目开发中需要手动加锁的地方少之又少,而且一般是简单粗暴使用@synchronized搞定,不过打算封装框架时就会发现远不满足。本文的目的是希望站在iOS开发中锁的使用之上的层面分析,探讨各种加锁方式的大致实现原理以及它们之间的区别和性能对比。由于加锁必然涉及到多线程相关知识,所以本文涉猎…