iOS Runtime Method IMP指针详解
Method IMP 概念介绍 OC是消息转发机制,代码在编译的时候会生产Runtime中间代码,运行的时候执行Runtime代码,我们也可以动态的添加Runtime代码。 这篇之前讲过了如何创建类和Runtime中的属性,今天主要说一下关于Runtime的方法。 首先还要说一下Runtime类的结构体: struct objc_class { Class _Nonnull isa...
View Article给ROM包内置ROOT权限,刷机以后立马拥有ROOT权限
基本上的MI2机油都刷了第三方的RECOVERY(如秋大的,C大的)实现了双系统共存,一个系统是MIUI,另一个系统刷上如锤子,COLOR OS,乐蛙等。...
View ArticleAndroid 架构设计 本科《毕业论文》
不知不觉学生时代已经结束,由于在 Android 上面花了不少功夫,所以这次毕业论文也是对我 Android 学习的一次总结,基本上都是自己写的。有关 Android 架构设计的一些想法,当然也有一些主流 Android 框架的源码解析(比如 retrofit,EventBus 等)可以下来看一看。...
View ArticleOpenGL实现相机视频NV21格式转RGB格式
笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术详解》电子工业出版社等。CSDN视频网址:http://edu.csdn.net/lecturer/144...
View ArticleRetrofit 原理简析
简介 Retrofit 所做的事情简单来说就是将你的 Http 业务 API --> Http 请求实现,类似于 Spring MVC 中的 Controller,它的主要任务是解析你的业务接口,从接口上获取你的 Http 接口协议,然后组装 Http 请求,进行异步 Request。 Retrofit 整合了多个组件,包括 JSON/XML 的 ORM...
View ArticleReact Native入门(四)之使用Flexbox布局
前言 flex,收缩,弹性的意思。 弹性(Flex)宽高 关于RN中宽高的设置,我们在上一篇设置Image加载网络图片的时候提到过,首先width和height是两个属性,用来指定一个组件的宽高,使用的时候可以这样: <Image source={pic} style={{width: 200, height: 200}} /> 也可以在外边定义,之后再引用,这个就不多说了!...
View ArticleFlutter学习之旅----环境搭建与Hello World
Flutter官网镇楼 Flutter来自Google,是移动端APP开发SDK,使用Dart语言编写一套代码即可同时在Android和iOS平台运行,性能无限接近原生,支持android 4.1以上 和...
View ArticleAndroid源码解析四大组件系列(五)---广播的注册过程
广播这个篇幅打算用四篇文章来写,分别为广播注册、广播处理、广播的发送,广播深入细节理解,如果都写到一篇文章会比较长,所以拆分成四篇来写。 第一篇 Android源码解析—广播的注册过程 第二篇 Android源码解析—广播的处理过程 第三篇 Android源码解析—广播的发送过程 第四篇 Android源码解析—广播深入细节理解...
View Article编程学习应用 Growth 发布 3.0,在碎片时间里练习
Growth 1.0~2.0 已经有 2101 次提交,而 Growth 3.0 则已经拥有了 900+ 提交。这意味着 Growth 整个项目有多达 3000 次提交,感谢每一个为 Growth 项目作为贡献的开源先锋。 特别感谢:@travelgeezer 为 Growth 3.0 编写了大量的功能。 现在,让我来开启装逼模式。 使用 React Native 重写,性能提升了 N + 1 倍...
View Article轻松学,细说 Dagger2 中容易让人迷惑的问题
Dagger2 确实比较难学,我想每个开发者学习的时候总是经历了一番痛苦的挣扎过程,于是就有了所谓的从入门到放弃之类的玩笑,当然不排除基础好的同学能够一眼看穿。本文的目的尝试用比较容易理解的角度去解释 Dagger2 这样东西。 Dagger2 是有门槛的,这样不同水平能力的开发者去学习这一块的时候,感受到的压力是不一样的。 我个人总结了大家在学习 Dagger2...
View Article使用UDP方式 与iOS端App通讯
首先需要安装一个TCP&UDP测试工具 连接类型选择UDP 目标IP 设置手机的IP, 端口8888 (这个端口在App端用来绑定) 指定端口, 是App向回发信息所需要的端口, 具体设置如下图所示 接下来为减少代码的键入, 我直接使用CocoaAsyncSocket这个三方库,作为中间媒介完成整个过程 { GCDAsyncUdpSocket *udpSocket; //...
View ArticleKotlin学习之-6.4 Coroutines
Kotlin学习之-6.4 Coroutines 在Kotlin V1.1中Coroutines 还处在实验阶段 有些接口会做一些耗时的操作例如网络IO请求,文件IO, CPU或者GUP密集的工作等,并且要求调用者阻塞知道操作完成。Coroutines提供了一种能够替换避免阻塞线程的方法并且代价更小、控制性更好的操作:suspension of a coroutine...
View Articlereact-native城市列表组件
城市列表选择是很多app共有的功能,比如典型的美图app。那么对于React Native怎么实现呢? 要实现上面的效果,首先需要对界面的组成简单分析,界面的数据主要由当前城市,历史访问城市和热门城市组成,所以我们在提供Json数据的时候就需要将数据分为至少3部分。 const ALL_CITY_LIST = DATA_JSON.allCityList; const HOT_CITY_LIST =...
View ArticleSwift3.0基础之详细讲解Closure闭包结构的使用
源码Demo写的很详细,这里不再赘述,如下://创建一个全局的Closure,这是最后应该看的知识点 //方式一:定义一个闭包变量其实就是定义一个特定函数类型的变量,方式如下。因为Closure变量没有赋初始值,所以我们把其声明为可选类型的变量。在使用时,用!强制打开即可。 var globalCloure1:((Int, Int) -> Int)?...
View ArticleAndroid App 瘦身总结 第三章 代码混淆及优化
在前两章我们分别从图片资源和jni动态库这两个方面来分析apk瘦身的优化点 Android App 瘦身总结 第一章 图片资源的优化处理 Android App 瘦身总结 第二章 jni动态库及cpu兼容 本章我们从代码角度来继续进行分析。...
View ArticleAndroid 开发 Tip 17 -- 为什么getBackground().setAlpha(); 会影响别的控件?
转载请注明出处:http://blog.csdn.net/crazy1235/article/details/75670018 http://www.jb51.net/article/110035.htm...
View ArticleAndroid NDK: From Elementary to Expert Episode 20
Debug Session Setup The ndk-gdb script that takes care of setting up the debug session on behalf of the developer but knows the sequence of events happening during the debug session setup, which is...
View Article防侧漏之弱引用的使用
本文依然基于github上的开源框架为基础,看过之前发的 最新Retrofit + RxJava + MVP 那篇blog的讲述,应该明白框架里面的大概,一步步兑现之前的承诺,会写上十篇左右的帖子来讲解里面的要点和难点,今天主要讲述的是baseActivity里面的WeakReference< BaseActivity >。 最初入行的时候,使用handler一般都是如下方式:...
View Article