iOS vs Android 开发对照手册

iOS vs Android 开发对照手册


前言

作为一名移动开发者,你可能经常需要在 iOS 和 Android 之间切换。这份手册旨在提供一个清晰、快速的对照参考,帮你定位两个平台中对应的概念和 API。


一、基础数据类型

字符串

· iOS:NSString

· Android:String

数字

· iOS:NSNumber

· Android:Integer / Long / Double

字节

· iOS:NSData

· Android:byte[]

可变字节

· iOS:NSMutableData

· Android:ByteArrayOutputStream

数组

· iOS:NSArray

· Android:List / ArrayList

可变数组

· iOS:NSMutableArray

· Android:ArrayList

字典

· iOS:NSDictionary

· Android:HashMap / Map

可变字典

· iOS:NSMutableDictionary

· Android:HashMap

布尔值

· iOS:BOOL / YES / NO

· Android:boolean / true / false


二、线程与并发

任务队列

· iOS:NSOperationQueue

· Android:ExecutorService

后台线程

· iOS:

复制代码
dispatch_async(dispatch_get_global_queue(0, 0)) {
    // 后台任务
}

· Android:

复制代码
new Thread(() -> {
    // 后台任务
}).start();

切回主线程

· iOS:

复制代码
dispatch_async(dispatch_get_main_queue()) {
    // 更新UI
}

· Android:

复制代码
runOnUiThread(() -> {
    // 更新UI
});

延迟执行

· iOS:

复制代码
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 
              Int64(delay * NSEC_PER_SEC)), 
              dispatch_get_main_queue()) {
    // 延迟任务
}

· Android:

复制代码
new Handler().postDelayed(() -> {
    // 延迟任务
}, delayMillis);

定时器

· iOS:Timer.scheduledTimer

· Android:Handler.postDelayed 循环


三、网络请求

HTTP 客户端

· iOS:URLSession

· Android:OkHttp / HttpURLConnection

请求对象

· iOS:URLRequest

· Android:Request (OkHttp)

响应对象

· iOS:HTTPURLResponse

· Android:Response (OkHttp)

JSON 解析

· iOS:JSONSerialization / Codable

· Android:Gson / Moshi / JSONObject

图片加载

· iOS:Kingfisher / SDWebImage

· Android:Glide / Coil / Picasso

网络监听

· iOS:NWPathMonitor

· Android:ConnectivityManager


四、数据存储

键值对

· iOS:UserDefaults

· Android:SharedPreferences

文件目录

· iOS:

复制代码
FileManager.default.urls(
    for: .documentDirectory,
    in: .userDomainMask
)[0]

· Android:

复制代码
context.getFilesDir()

数据库

· iOS:CoreData / SQLite

· Android:Room / SQLiteDatabase

ORM框架

· iOS:CoreData / Realm

· Android:Room / Realm

安全存储

· iOS:Keychain

· Android:Keystore

缓存

· iOS:NSCache

· Android:LruCache


五、UI 组件

页面控制器

· iOS:UIViewController

· Android:Activity / Fragment

基础视图

· iOS:UIView

· Android:View

布局容器

· iOS:UIStackView / Auto Layout

· Android:LinearLayout / ConstraintLayout

列表视图

· iOS:UITableView / UICollectionView

· Android:RecyclerView

按钮

· iOS:UIButton

· Android:Button

文本标签

· iOS:UILabel

· Android:TextView

文本输入

· iOS:UITextField

· Android:EditText

图片显示

· iOS:UIImageView

· Android:ImageView

滚动视图

· iOS:UIScrollView

· Android:ScrollView

弹窗

· iOS:UIAlertController

· Android:AlertDialog

进度指示

· iOS:UIActivityIndicatorView

· Android:ProgressBar

Web视图

· iOS:WKWebView

· Android:WebView

导航栏

· iOS:UINavigationController

· Android:Toolbar / ActionBar

标签栏

· iOS:UITabBarController

· Android:BottomNavigationView


六、生命周期

创建

· iOS:viewDidLoad()

· Android:onCreate()

可见

· iOS:viewWillAppear()

· Android:onStart()

获取焦点

· iOS:viewDidAppear()

· Android:onResume()

失去焦点

· iOS:viewWillDisappear()

· Android:onPause()

不可见

· iOS:viewDidDisappear()

· Android:onStop()

销毁

· iOS:deinit / dealloc

· Android:onDestroy()

内存警告

· iOS:didReceiveMemoryWarning()

· Android:onLowMemory()


七、权限管理

请求权限

· iOS:通过具体服务请求

· Android:requestPermissions()

检查权限

· iOS:检查授权状态

· Android:checkSelfPermission()

定位

· iOS:CLLocationManager

· Android:FusedLocationProviderClient

相机

· iOS:AVCaptureDevice

· Android:CameraX / Camera2

相册

· iOS:PHPhotoLibrary

· Android:ActivityResultContracts.GetContent()

通知

· iOS:UNUserNotificationCenter

· Android:NotificationManager


八、通知系统

本地通知

· iOS:UNUserNotificationCenter

· Android:NotificationManager + NotificationChannel

推送通知

· iOS:APNs

· Android:FCM

通知构建

· iOS:UNNotificationContent

· Android:NotificationCompat.Builder

通知动作

· iOS:UNNotificationAction

· Android:PendingIntent

应用内广播

· iOS:NotificationCenter

· Android:LiveData / EventBus


九、加密安全

AES加密

· iOS:CryptoKit / CommonCrypto

· Android:javax.crypto.Cipher

RSA加密

· iOS:Security.framework

· Android:javax.crypto.Cipher

Hash

· iOS:CryptoKit / CommonCrypto

· Android:MessageDigest

Base64

· iOS:Data(base64Encoded:)

· Android:android.util.Base64

安全存储

· iOS:Keychain

· Android:Keystore


十、蓝牙 BLE

中心管理器

· iOS:CBCentralManager

· Android:BluetoothAdapter

外设对象

· iOS:CBPeripheral

· Android:BluetoothDevice

GATT客户端

· iOS:CBPeripheral

· Android:BluetoothGatt

服务

· iOS:CBService

· Android:BluetoothGattService

特征值

· iOS:CBCharacteristic

· Android:BluetoothGattCharacteristic

扫描回调

· iOS:CBCentralManagerDelegate

· Android:ScanCallback

连接回调

· iOS:CBPeripheralDelegate

· Android:BluetoothGattCallback

开始扫描

· iOS:scanForPeripherals()

· Android:startScan()

停止扫描

· iOS:stopScan()

· Android:stopScan()

连接设备

· iOS:connect()

· Android:connectGatt()

发现服务

· iOS:discoverServices()

· Android:discoverServices()

写入数据

· iOS:writeValue()

· Android:writeCharacteristic()

开启通知

· iOS:setNotifyValue()

· Android:setCharacteristicNotification()


十一、常用第三方库

网络

· iOS:Alamofire

· Android:Retrofit + OkHttp

图片

· iOS:Kingfisher

· Android:Glide / Coil

JSON

· iOS:Codable (原生)

· Android:Gson / Moshi

依赖注入

· iOS:Swinject

· Android:Dagger Hilt / Koin

响应式

· iOS:Combine (原生) / RxSwift

· Android:Flow (原生) / RxJava

数据库

· iOS:Realm / CoreData

· Android:Room / Realm

日志

· iOS:SwiftyBeaver

· Android:Timber


十二、开发工具

IDE

· iOS:Xcode

· Android:Android Studio

语言

· iOS:Swift / Objective-C

· Android:Kotlin / Java

构建工具

· iOS:Xcodebuild / SPM

· Android:Gradle

包管理

· iOS:CocoaPods / SPM

· Android:Maven / Gradle

UI设计

· iOS:Storyboard / SwiftUI

· Android:XML / Jetpack Compose

性能分析

· iOS:Instruments

· Android:Profiler


总结

iOS 特点

· 注重一致性、流畅体验

· Swift (现代) / ObjC (遗留)

· UIKit (命令式) / SwiftUI (声明式)

· 学习曲线相对平缓,文档统一

Android 特点

· 注重灵活性、定制能力

· Kotlin (现代) / Java (遗留)

· View系统 (命令式) / Compose (声明式)

· 碎片化较多,需适配不同厂商


相关推荐
用户69371750013842 小时前
跟你唠唠!A2A协议来了,谁能拿下下一代手机系统的主动权?
android·前端·人工智能
用户69371750013842 小时前
微信悄悄搞大事!原生智能助手秘密研发,2026年改变亿人使用习惯
android·后端·微信小程序
轩情吖2 小时前
MySQL之表的增删查改
android·开发语言·c++·后端·mysql·adb·
robotx2 小时前
安卓15开机动画结束流程简单分析
android
XiaoLeisj2 小时前
Android 模块化与组件化工程实战:从子模块库化、Gradle 配置统一到 ARouter 解耦跨模块页面通信与 Fragment 解耦集成
android·gradle·模块化·arouter
weixin_443478513 小时前
flutter组件学习之Cupertino 组件(iOS风格)
学习·flutter·ios
JMchen1233 小时前
高级渲染技术:OpenGL ES在自定义View中的应用
android·性能优化·3d渲染·opengl es·自定义view·glsurfaceview·shader编程
鹧鸪晏3 小时前
搞懂 kotlin 泛型 out 和 in 关键字
android·kotlin
毕设源码-邱学长3 小时前
【开题答辩全过程】以 基于Android的“旧时光”书店App为例,包含答辩的问题和答案
android