• 等级
  • 49739 访问
  • 4 原创
  • 102 转发
  • 85529 排名
  • 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、普通单例public class Singleton { //用一个静态变量来记录Singleton类的唯一实例 private static Singleton uniqueInstance; private Singleton() {} //注意这个方法也是静态的 public static Single

2016-12-27 16:12:15

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

Android源代码结构Android代码的工程分为3个部分 核心工程(Core Project):建立Android 系统的基础,在根目录的各个文件夹中 扩展工程(External Project):使用其他开源项目扩展的功能,在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:<EventLinearLayout xmlns: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,oschina git gitcafe的代码托管平台上的项目的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开发

第一部分,介绍和指南(Part One: Introduction and Tutorial) 第一章介绍 "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、在Android Studio 中创建一个项目,项目配置中新建一个类(Activity或者任意一个类)。 在新建的类中定义本地的方法: public native String getStringFromNative(); 2、生成.class文件 build -> Make Project 编译生成.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步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key: $ ssh-keygen -t rsa -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、jd GUI、dex2jar等已经无法满足大家的需求了。那么问题就来了,小伙伴们真正需要的是什么?好的,大家一起呐喊出你内心的欲望吧,我们的目标是——“debug apk step by step”。 0×02那些不靠谱的工具

2015-06-30 16:26:17

Android 自定义View

自定义View的步骤: 1、自定义View的属性,布局中使用自定义的View 2、在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

关注