PGzxc

纸上得来终觉浅 绝知此事要躬行

前言

在这个信息爆炸的时代,好像应用内聊天(即时通信)也称为了每款app的必备,如何实现聊天功呢?
这里分为两种情况:

  • 自己搭建聊天系统
  • 借助于第三方SDK

自己搭建聊天系统

  • 可以利用openfire+spark
  • openfire作为服务端,spark作为客户端
  • 开发周期较长
  • 免费开源

借助于第三方SDK

  • 开发周期短
  • 便于集成
  • 可以定制
  • 需要付费

综上所述:我们选择第二种,借助于第三方SDK,第三方SDK比较多,如环信、容联云,友盟等,这里我们选择环信。

阅读全文 »

介绍热修复之前,我们先看下InstantRun

一 InstantRun

不得不说InstantRun真是个好东西。目前主流的热修复框架都有或多或少的参考InstantRun的某些技术点。
我们知道,InstantRun对应三种更新机制:

  • 冷插拔:我们称之为重启更新机制
  • 温插拔:我们称之为重启Activity更新机制,在重启的时候替换Application的classLoader来加载dex
  • 热插拔:我们称之为热更新机制是新建classLoader来加载dex

Robus,其热修复的关键技术点就是采用了InstantRun中的热更新机制,对应于多ClassLoader的动态加载方案,即一个dex文件对应一个新建ClassLoader

阅读全文 »

一 简介

Lottie是Airbnb开源的一个面向IOS、Android、React Native的动画库,能分析Adobe After Effects导出的动画,并且能让原生App像使用静态素材一样使用这些动画,完美实现动画效果。

现在使用各个平台的native代码实现一套复杂的动画是一件很困难并且耗时的事,我们需要为不同尺寸的屏幕加载不同的材料资源,还需要写大量难维护的代码,而Lottie可以做到同一个动画文件在不同平台上实现相同的效果,极大减少开发时间,实现不同的动画,只需要设置不同的动画文件即可极大减少开发和维护成本。

阅读全文 »

一 android中raw与assets区别

1.1 res/raw和assets的相同点

两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。

1.2 res/raw和assets的不同点

  • res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.raw.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。
  • res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹
阅读全文 »
0%