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 (声明式)
· 碎片化较多,需适配不同厂商