移动开发

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

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

Android Studio修改国内镜像

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

学习autorelease

关于@ autoreleasepool{} 在main方法中有一个@autoreleasepool{} int main(int argc, char * argv[]) { NSString * appDelegateClassName; @autoreleasepool { // Setup code that might create autoreleased

android 打包多个 apk

1、配置 gradle 文件 ./app/build.gradle android { defaultConfig { flavorDimensions "default" } // 多应用打包 productFlavors { // 默认 defaults { manifestPlaceholders = [app_name

axios之cancelToken原理及使用

在真实项目中,当路由已经跳转,而上一页的请求还在pending状态,如果数据量小还好,数据量大时,跳到新页面,旧的请求依旧没有停止,这将会十分损耗性能,这时我们应该先取消掉之前还没有获得相应的请求,再跳转页面。 在真实项目中,当路由已经跳转,而上一页的请求还在pending状态,如果数据量小还好,数据量大时,跳到新页面,旧的请求依旧没有停止,这将会十分损耗性能,这时我们应该先取消掉之前还没有获

CUDA 本地与 Mac 环境下如何实现 C++/python 开发 GPU 代码

这篇文章将从「本地开发」和「Mac 环境」出发,分析如何与 CUDA 分布式工具组合,什么环境支持 CUDA,并推荐一些可以本地运行学习的示例项目,包括 C++ 和 Python 版本的 GPU 编程框架。一、CUDA 是什么?为什么要学 CUDA?CUDA (全称 Compute Unified

个人开发的小程序/网页APP安装失败?这些冷门技巧帮你绕过系统限制!

一、安装失败的核心原因分析 系统权限限制 安卓设备默认禁止安装非官方渠道的APP。 解决方法:引导用户手动开启“开发者选项”中的“未知来源安装权限”。 路径:设置 > 关于手机 > 点击“版本号”7次 > 返回设置 > 开发者选项 > 允许安装未知应用。 文件格式或完整性问题 如果APK文件在传输过程中损坏&

Android View 知识体系

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

【Android】Android Studio打包APK、精简APK大小与规范处理详解

目录引言一、应用打包1.1 导出APK安装包1.2 制作App图标 1.3 给APK瘦身  1.3.1 去除冗余功能 1.3.2 精简无用资源 1.3.3 压缩图片大小 二、规范处理 2.1 版本设置2.2 发布模式 结语引言Android Studio中运行程序默认都是debug版本,而想要在别人手机上安装应用,就需要把App打包成APK文件(relea