移动开发

Flutter多渠道打包的解决方案(walle)

背景 我们的应用集成了TalkingData这个第三方工具来统计日活、事件等,需要在应用启动时初始化SDK,这个时候需要传入当前渠道,以便数据的统计。 由于最开始是用脚本一个个打包,一直想解决打包过慢的问题,但是网上大多教程是基于命令行参数或flavor,实质上并没有根本解决打包效率的问题。直到发现了文章的主角 walle。 应用解决方案 walle walle是美团开源的一个打包插件,这里就

Android 性能调优面试题

1.1 谈谈你对Android性能优化方面的了解? 启动优化: application中不要做大量耗时操作,如果必须的话,建议异步做耗时操作 布局优化:使用合理的控件选择,少嵌套。(合理使用 include,merge,viewStub等使用) apk优化(资源文件优化,代码优化,lint检查,.9.png,合理使用shape替代图片,webp等) 性能优化,网络优化,电量优化 避免轮询,尽量使

Android高斯模糊(毛玻璃效果)蒙层库-ShapeBlurView

ShapeBlurView ShapeBlurView库是一个高斯模糊(毛玻璃效果)蒙层库。Like iOS UIVisualEffectView 不知大家做需求的时候是否有这样的效果要求: 需求示例 大家熟悉的Android常用图片加载库,比如Glide 可以对图片进行毛玻璃效果的加载(实现不展开说了) 但是都是对整个要加载的图片进行高斯模糊效果,对应局部这种比较难处理,这个库就

Android USAP 进程启动流程

从Android Q(10)开始,Google引入了一种新的机制,加快了app的启动时间,具体请看Android Framework | 一种新型的应用启动机制:USAP,本篇将会详细介绍USAP 进程启动的流程。 从Activity启动流程 上篇(Android 10),我们得知在Activity启动过程中,我们会调用到\frameworks\base\core\java\android\os\

android webview(AgentWeb) 刷新无效问题

问题描述:我的h5链接中有#号,比如:url="home/#/?token=123" 就是因为这个#号导致页面刷新不好用了。 解决方案(总体思路):handler延迟刷新。 我用到的技术: 1.AgentWeb(对安卓的WebView做了一些封装,你也可以把它看成安卓的WebView。传送门) 2.handler和h5刷新相关。 如果你用的是安卓的WebView,你看完解决方案(思路)后,可以直接

如何在24版本的Android Studio中创建java项目

最开始点击创建empty activity,然后就会出现以上情况,无法选择用Java作为编程语言。因为在新版的Android Studio中默认使用Kotlin作为编程语言。那么如何使用Java作为编程语言呢?这个时候回到项目创建的原始页面,如下图选定No Activity,点击Next,进入下一个页面在这里就可以

Flutter入门教程:从零开始的Flutter开发指南

Flutter入门教程:从环境搭建到应用发布 概述本文提供了全面的Flutter入门教程,涵盖环境搭建、基础Widget使用、界面设计与美化,以及实战项目开发等内容。通过本教程,开发者能够快速上手Flutter开发,掌握开发跨平台应用的基本流程,包括集成第三方库和发布应用到各大应用商店。 Flutter简介 什么

Android Studio 项目文件夹结构详解

文章目录 一、项目视图概览 1. Android 视图(简化视图) 2. Project 视图(完整物理结构) 二、核心目录详解 1. 项目根目录文件 2. app 模块目录(主模块) 2.1 `manifests/` 2.2 `java/` 2