• 等级
  • 53198 访问
  • 4 原创
  • 102 转发
  • 93081 排名
  • 0 评论
  • 4 获赞

Weex跨平台前端实现原理

以前用的多的技术定义webview,通过webview和native进行交互,实现跨平台。后续出现phonegap/cordova等。但其效果依旧有所欠缺。所以近期出现大量使用RN和Weex方案为了解决跨平台浏览器不流程的问题。像web实现,是基于浏览器进行渲染。流畅度不高。换个思路,把前端映射成native组件,就流畅多了。来看一下Weex如何实现。         ...

2018-08-16 20:05:09

Android热修复原理(二)

阿里系底层热修复方案特点:修复时,立即生效。但同时带来各种rom兼容问题,也不能做新增field的修复。如Sophix Andfix阿里系的修复方案:底层替换所操作的指针,实际上是ArtMethod,在类被加载,类中的每个方法都会有对应的ArtMethod,它记录了方法包括所属类和内存地址信息,Andfix正是通过篡改ArtMethod,将补丁方法ArtMethod的成员值逐一赋给旧方法,...

2018-08-14 16:52:55

Android热修复原理(一)

一、热修复主要用来干啥?应用场景:当出现BUG需要修复时,在APP解决完问题后,需要更新时重新打包成各渠道进行发布。为了使用一种不需要进行重复操作打包发布,插件化及热修复应运而生。插件化和热修复不是同一个概念,虽然站在技术实现的角度来说,他们都是从系统加载器的角度出发,无论是采用hook方式,亦或是代理方式或者是其他底层实现,都是通过“欺骗”Android系统的方式来让宿主正常的加载和运...

2018-07-09 17:03:31

单例解析

1、普通单例publicclassSingleton{//用一个静态变量来记录Singleton类的唯一实例privatestaticSingletonuniqueInstance;privateSingleton(){}//注意这个方法也是静态的publicstaticSingle

2016-12-27 16:12:15

Android源代码结构及Linux编译Android源码

Android源代码结构Android代码的工程分为3个部分核心工程(CoreProject):建立Android系统的基础,在根目录的各个文件夹中扩展工程(ExternalProject):使用其他开源项目扩展的功能,在external文件夹中。包(Package):提供Android的应用程序和服务,在package文件夹中。Android的核心工程Android的核心

2015-09-08 12:04:28

Eclipse 的git相关配置

Eclipse配置git上传项目至github

2015-09-01 11:48:07

Android Touch事件传递机制

Touch事件传递等级事件的传递分为ViewGroup、View、Activity三个等级顺序为ViewGroup->View->Activity布局结构如下,最外层为Activity:<EventLinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width

2015-07-22 12:36:48

Android 有关View的绘制问题

View绘制

2015-07-15 17:31:19

MarkDown语法

为项目编写Readme.MD文件了解一个项目,恐怕首先都是通过其Readme文件了解信息。如果你以为Readme文件都是随便写写的那你就错了。github,oschinagitgitcafe的代码托管平台上的项目的Readme.MD文件都是有其特有的语法的。称之为Markdown语法。在线编辑器:stackedit网址:https://stackedit.io/

2015-07-14 10:53:13

Android 屏幕适配相关解决方案

什么是屏幕尺寸、屏幕分辨率、屏幕像素密度? 什么是dp、dip、dpi、sp、px?他们之间的关系是什么? 什么是mdpi、hdpi、xdpi、xxdpi?如何计算和区分?在下面的内容中我们将介绍这些概念。屏幕尺寸屏幕尺寸指屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米比如常见的屏幕尺寸有2.4、2.8、3.5、3.7、4.2、5.0、5.5、6.0等

2015-07-08 17:47:11

JNI开发

第一部分,介绍和指南(PartOne:IntroductionandTutorial)第一章介绍"JNI"是"Java"平台的一个强大的功能。使用"JNI"的应用程序能能混合用例如"C"和"C++"语言编写的本地代码(nativecode),和用Java编程语言编写的代码。"JNI"允许编程人员,在不丢弃在传统编码上的投入,来利用Java平台功能。因为"JNI"是"Java"平

2015-07-07 15:08:17

Android Studio 生成.so文件及 Android.mk文件解析

在NDK开发中生成.SO文件在app路径的build.gradle的defaultconfig中添加ndk{ moduleName"MyJni"//设置库(so)文件名称ldLibs"log","z","m"//添加系统库abiFilters"armeabi","armeabi-v7a","x86"//生成3中类的.so文件}

2015-07-06 18:39:45

Android Studio使用笔记(随时添加)

AndroidStudio使用笔记1、导入.jar文件方式一:新建工程->左上角Projectl栏目->APP目录->libs目录->新建一个子目录->复制/移动.jar文件至此目录即可方式二:新建工程->左上角Projectl栏目->APP目录->build.gradle->在dependence下添加.jar文件路径即可 2、自动compile设置Setti

2015-07-06 18:20:32

Android Studio 中的NDK开发

1、在AndroidStudio中创建一个项目,项目配置中新建一个类(Activity或者任意一个类)。在新建的类中定义本地的方法:publicnativeStringgetStringFromNative();2、生成.class文件build->MakeProject编译生成.class文件。.class文件的路径:项目目录\build\app\bu

2015-07-06 17:32:49

Git的分支管理

在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能

2015-07-01 17:14:35

使用GitHub

第1步:创建SSHKey。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开GitBash),创建SSHKey:$ssh-keygen-trsa-C"youremail@example.com"rsa是一种密码算法,还有一种是dsa

2015-07-01 15:03:58

初探Git

CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,下面简单介绍一下分布式的系统和其优势点。集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。集中

2015-06-30 16:49:01

反编译与调试APK

0×01前言这年头,apk全都是加密啊,加壳啊,反调试啊,小伙伴们表示已经不能愉快的玩耍了。静态分析越来越不靠谱了,apktool、ApkIDE、jdGUI、dex2jar等已经无法满足大家的需求了。那么问题就来了,小伙伴们真正需要的是什么?好的,大家一起呐喊出你内心的欲望吧,我们的目标是——“debugapkstepbystep”。0×02那些不靠谱的工具

2015-06-30 16:26:17

Android 自定义View

自定义View的步骤:1、自定义View的属性,布局中使用自定义的View2、在View的构造方法中获得我们自定义的属性3、重写onMesure 4、重写onDraw一、在values建立一个属性的xml文件attr.xml>format的类型:string,color

2015-06-29 11:16:17

GitHub Android 开源项目

Android开源项目分类汇总目前包括:Android开源项目第一篇——个性化控件(View)篇   包括 ListView、 ActionBar、 Menu、 ViewPager、 Gallery、 GridView、 ImageView、 ProgressBar、 TextView、 ScrollView、 TimeView、 TipView、 FlipView、 Colo

2015-06-24 12:04:34

lilie008

关注