Kaola Mobile Team's Blog

网易考拉移动端团队

浅谈构架模式

浅谈构架模式 浅谈构架模式 一、MVP 模式 1.1 MVP 的优缺点 层次比较清晰,逻辑和 UI 分离。 颗粒度过细,导致接口过多。 UI 为驱动的模型 V 层与 P 层有耦合 ...

Android O 适配详细指南

Android O 适配详细指南 前言 最近 Google 爸爸对 Google Play 上架的应用提出了目标 API 等级要求 从 2018 年 8 月 1 日起,所有向 Google Play 首次提交的新应用都必须针对 Android 8.0 (API 等级 26) 开发; 2018 年 11 月 1 日起,所有 Google Play 的现有应用更新同样必须针对 An...

Android 高性能日志写入方案

前言 网易考拉作为一款超级电商应用,每天都会产生海量日志信息,对日志的写入性能和完整性都有更高的要求。 常规方案 Android 中记录日志通常的方式是通过 Java Api 操作文件,当有一条日志要写入的时候,首先,打开文件,然后写入日志,最后关闭文件。使用这种方案虽然当前看上去对程序的影响不大,但是随着日志量的增加,在 Java 中频繁的 IO 操作,容易导致 gc,频繁打开文件,...

记一次多进程同步Cookie的解惑历程

前言 谈起Cookie,如果没有了解过它,可能会望文生畏。做过WebView开发的人可能会对它比较了解。Android的Cookie是由系统去管理的,其特点是会被持久化成一个db文件,保存在/data/data/{packageName}/app_webview/Cookies中(不同系统、不同浏览器实现可能不一样,但大体如此)。通常,网站的登录信息是使用Cookie来保存的,如果App也...

嵌套滚动设计和源码分析

VerticalNestedScrollLayout 的使用

VerticalNestedScrollLayout的使用 简介 VerticalNestedScrollLayout实现了垂直嵌套滚动的通用组件。其内部有且仅有两个直接子View: 头部和主体。 两个子View一般写在布局中,如下:VerticalNestedScrollLayout有两个直接子View,NestedScrollViewh 和 FrameLayout。 <com...

如何设计一个优雅健壮的Android WebView?(下)

基于考拉电商平台的WebView实践

前言 在上文《如何设计一个优雅健壮的Android WebView?(上)》中,笔者分析了国内WebView的现状,以及在WebView开发过程中所遇到的一些坑。在踩坑的基础上,本文着重介绍WebView在开发过程中所需要注意的问题,这些问题大部分在网上找不到标准答案,但却是WebView开发过程中几乎都会遇到的。此外还会浅谈WebView优化,旨在给用户带来更好的WebView体验。 ...

如何设计一个优雅健壮的Android WebView?(上)

基于考拉电商平台的WebView实践

前言 Android应用层的开发有几大模块,其中WebView是最重要的模块之一。网上能够搜索到的WebView资料可谓寥寥,Github上的开源项目也不是很多,更别提有一个现成封装好的WebView容器直接用于生产环境了。本文仅当记录在使用WebView实现业务需求时所踩下的一些坑,并提供一些解决思路,避免遇到相同问题的朋友再次踩坑。 WebView现状 Android系统的WebV...

考拉 Android 全局滑动返回及联动效果的实现

滑动返回在 Android 的方案及实践

前言 首次通过右滑来返回到上一个页面的操作是在 IOS7上出现。到目前android应用上支持这种操作的依然不多。分析其主要原因应该是android已有实体的返回按键,这样的功能变得不重要,但我觉得有这样的功能便于单手操作,能提升app的用户体验,特别是从ios转到android的用户。写这篇博文希望可以对大家有所帮助,希望自己的app上有滑动返回功能的可以参考下。 原理的简单描述 And...

基于 weex 的考拉移动端动态化方案

考拉 App 的动态化方案设计及经验总结

目录: 1.为什么要使用热发布; 2.行业现状; 3.热发布整体设计方案; 4.上线功能和数据情况; 5.使用过程中遇到的问题; 6.之后需要做的事情; 一、为什么使用热发布 1.实时性限制 考拉作为一个跨境电商类的App,从最开始就注定会受到政策类的条款限制,从而导致经常会出现一些实时变更的需求。而目前这些实时性的需求又必须通过App的直接发版本来解决,不仅发布周期长,应用...