进程通讯 & Binder机制 & Service 笔记
Linux进程通讯机制 Linux 系统中有万物皆文件的说法,虚拟文件系统(VFS)是 Linux 对外的接口,任何程序都必须通过这层接口来使用它。 为了避免系统安全问题(越权访问),进程间内存无法共享,数据交互就得采用特殊的通信机制(IPC)。 进程划分用户空间(不可共享)跟内核空间(可共享),并 ...阅读全文
Linux进程通讯机制 Linux 系统中有万物皆文件的说法,虚拟文件系统(VFS)是 Linux 对外的接口,任何程序都必须通过这层接口来使用它。 为了避免系统安全问题(越权访问),进程间内存无法共享,数据交互就得采用特殊的通信机制(IPC)。 进程划分用户空间(不可共享)跟内核空间(可共享),并 ...阅读全文
前言 在 $AppClick 事件采集中,还有两个比较特殊的控件: UITableView •UICollectionView 这两个控件的点击事件,一般指的是点击 UITableViewCell 和 UICollectionViewCell。而 UITableViewCell 和 UICollec ...阅读全文
昨天看到知乎推这个主题,非常感兴趣。遂花了一天的时间把全集看完了(B站有资源),把从中总结到的东西记录了下来。 一共32条,没时间看全片的同学可以看看下面的总结。 总之我是准备把这32条背下来了。 ————以下是总结正文———— 1、赚大钱比较容易,只赚个几百几千,是比较难的; 2、人一慌张就容易太 ...阅读全文
Google Analytics: Universal Analytics增强型电子商务,可以让运营人员轻松地跟踪用户在其购物历程中与产品的互动,包括产品展示、产品点击、查看产品详情、将产品添加到购物车、结账流程、交易以及退款等操作。 目前,Google Analytics: Uniersal An ...阅读全文
如果我们需要设置一个view在另一个view的右边缘距离一定距离的地方,利用Masonry这么写: offset可以让我们在设置视图之间相对位置时起到很大作用,但是也有很多情况下用不到,比如size、center等等,而调查Maronry的底层方法,可以看到和offset类似的方法还有很多: off ...阅读全文
现在的SIM卡通常具备基站定位、语音通话、短信消息、网络流量这四大功能,而在移动端是无法对SIM卡使用基站定位功能的,所以这里只介绍移动端如何使用SIM卡实现语音通话、短信消息、数据流量三个功能。 ##语音通话 Android系统中提供了通话服务,同时自带系统级应用可以通过该通话服务使用SIM卡的通 ...阅读全文
Thread 线程状态:新建(new),就绪(start),运行(run),阻塞,死亡 start 方法内部调用了 run 方法,start 会开启线程,run 只是内部方法; sleep 会占用锁,休眠时间到在重新运行; stop 停止线程比较暴力,对锁的对象进行强制解锁,线程资源因此得不到正常释 ...阅读全文
登陆界面、登陆跳转和进度条功能实现 首先打开Android studio新建一个空项目,打开layout文件夹下的activity_main.xml文件,来设置登陆界面的布局。登陆界面需要两个输入框,一个用来输入账号,一个用来输入密码,一个登录按钮和一个进度条。具体布局代码实现如下: 1 <?xml ...阅读全文
原文通过对Objective-C发展史、Objective-C中Runtime的动态派发,C语言的直接派发进行铺垫介绍,引出了direct methods这个“新特性”(文章写于2019年)。 定义 看起来是个OC的方法,却和C方法一样,当被调用时,他是会直接使用而不是通过objc_msgSend。 ...阅读全文
系统键盘在密码框输入时,如果用户开启录屏,键盘在录屏得到的视频里会不可见,但是用户在录屏时却能看到。 为了实现这个效果,利用UItextfield在录屏下视频不可见的特性,将实现这一效果的私有UIview,也就是_UITextLayoutCanvasView提取出来,作为背景,其他组件在这个背景上显 ...阅读全文
Android系统的移动设备大多支持无线WLAN技术。利用该技术,不仅能实现互联网通信,还能实现无线定位,热点共享等远程通信功能。针对使用WLAN的不同功能,可能需要分别申请不同的权限声明,同时调用不同的系统框架API,下文将按照不同的使用功能分别介绍。 ##扫描无线设备 该功能通常只允许在系统自带 ...阅读全文
环境配置 Flutter SDK 安装 https://docs.flutter.dev/development/tools/sdk/releases?tab=macos 下载完成后解压将其SDK flutter文件夹放入系统根目录,例如: /Users/k/flutter_sdk/flutter ...阅读全文
一个新的测试机在自动下载升级安装更新版本APP时,报出“解析程序包时出现问题”错误。原因众说纷纭, 一番搜索,下面的回答比较全面: https://stackoverflow.com/questions/39147608/android-install-apk-with-intent-view-ac ...阅读全文
Android 的APP 需要集成一个蓝牙扫码器, 特别的是,需要扫码的地方是没有输入框的(EditText),不能通过直觉上理解的通过对EditText输入事件进行监听处理,取得扫码结果。并且设备也没有提供SDK。 细想了一下, 蓝牙扫码器本质应该是个HID设备,相当于蓝牙键盘。而后豁然开朗。 每 ...阅读全文
集成了一个蓝牙的扫码枪,发现每次连接时,应用的当前Activity会销毁再次创建。调试了下, 没有监听到任何的事件,非常困惑。搜了一阵了解到是Android的一个机制。 某些设备配置可能会在运行时发生变化(例如屏幕方向、键盘可用性,以及当用户启用多窗口模式时)。发生这种变化时,Android 会重启 ...阅读全文
【Kotlin】初识Kotlin(二) 1、Kotlin的流程控制 流程控制是一门语言中最重要的部分之一,从最经典的if...else...,到之后的switch,再到循环控制的for循环和while循环,都是在开发中离不开的。 之前在第一篇博文中提到了Kotlin中的for循环和foreach循环 ...阅读全文
Android意图是一个要执行的操作的抽象描述。它可以通过 startActivity 来启动一个活动,broadcastIntent 来发送广播到任何对它感兴趣的广播接受器组件,startService(Intent) 或者bindService(Intent, ServiceConnection ...阅读全文
standard(标准模式) 默认启动模式,每次将创建一个新的实例。 singleTop(栈顶复用) 如果该活动处于栈顶部,则不会新建实例,否则新建实例; 复用时会触发 onNewIntent 方法。 singleTask(栈内复用) 栈内唯一,只要栈中存在该实例,将被复用;并且位于该复用活动顶部的 ...阅读全文
【解决方式】 命令行1(编译): sudo arch -x86_64 gem install ffi 命令行2(安装): arch -x86_64 pod install 原出处:https://github.com/CocoaPods/CocoaPods/issues/10220#issuecom ...阅读全文
项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu 。代码随项目进度更新。 现在我们增加添加新游戏的功能,创建一个页面,编辑初始局面,并保存到数据库。 我们首先了解一下Xamarin中页面如何跳转。首先,需要为跳转的页面增加路由,这需要在AppShel ...阅读全文