移动开发

Java注解实现异步导入与导出(二)

Java注解实现异步导入与导出(一) 上一篇写完了用注解实现异步导入,这一篇实现用注解异步导出。 1.背景: 导出最容易遇到的问题就是超时了,随着我们DB数据越来越多,导出时特别容易超时,这时候通常的解决办法就是优化SQL,或者直接限制导出条数,但是这两种方法都只能解决暂时的问题,过一段时间可能就又会冒出来。所以还是使用异步导出,先存到nas中,然后让用户再去下载。 2. 流程设计: 2.1 生

iOS 三种画板实现方式

UIBezierPath,Quartz2D,OpenGLES 1. UIBezierPath 1 UIBezierPath 使用UIBezierPath可以创建基于矢量的路径,此类是Core Graphics框架关于路径的封装。使用此类可以定义简单的形状,如椭圆、矩形或者有多个直线和曲线段组成的形状等。 UIBezierPath是CGPathRef数据类型的封装。如果是基于矢量形状的路

Android 性能调优面试题

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

js 箭头函数和普通函数的区别和this指向看这篇就够了

this指向问题是个老问题了,网上的教程很多都是相互copy的,让萌新一脸蒙,这里简单总结下,保证一次性搞懂。 首先,这里有个问题是js分严格模式和非严格模式,严格模式和非严格模式下this指向稍微有点区别,主要就是全局作用域中普通函数中的this指向问题,严格模式下是指向undefined的,非严格模式下是指向window。 image.png 现在一般用的都是严格模式,比如vu

iOS 中为什么更新UI都要放在主线程

分析:首先在子线程中是不能进行UI 更新的,而可以更新的结果只是一个幻像:因为子线程代码执行完毕了,又自动进入到了主线程,执行了子线程中的UI更新的函数栈,这中间的时间非常的短,就让大家误以为分线程可以更新UI。如果子线程一直在运行,则子线程中的UI更新的函数栈 主线程无法获知,即无法更新。 其次因为开辟线程时会获取当前环境,如点击某个按钮,这个按钮响应的方法是开辟一个子线程,在子线程中对该按钮进

Android View 知识体系

工作原理 Android 中通过 Window 作为屏幕的抽象,而 Window 的具体实现类是 PhoneWindow 。通过 WindowManager 和 WindowManagerService 配合工作,来管理屏幕的显示内容。 WindowManager 内部真正调用的是 WindowManagerGobal 方法,添加视图的是 addView 方法。在WindowManagerGoba

基于Telegram二次开发 --- 打包篇

在 环境篇 ,我们在 步骤3 生成了一个 telegram-configuration 的文件夹,打开 telegram-configuration 文件夹,如图所示: image.png provisioning:真机运行以及打包 ipa 所需描述文件存放的文件夹 variables.bz:bazel构建项目时的配置 我们需要更改的就是 provisioning 文件夹和 va

Android Studio修改国内镜像

国内的Android开发者,基本每隔一段时间就会碰到项目突然不能编译的情况。sdk更新、插件安装也有诸多不便,环境的折腾确实伤透了脑筋。本文主要记录下使用host配置dl.google.com的国内镜像。 1. 用文本编辑器打开host文件 host文件所在路径为: //对于Windows系统 C:\Windows\System32\drivers\etc\hosts //对于Mac系统 /e