移动开发

原型与原型链

原型: 1、所有引用类型都有一个proto(隐式原型)属性,属性值是一个普通的对象 2、所有函数都有一个prototype(原型)属性,属性值是一个普通的对象 3、所有引用类型的proto属性指向它构造函数的prototype 原型链: 当访问一个对象的某个属性时,会先在这个对象本身属性上查找,如果没有找到,则会去它的proto隐式原型上查找,即它的构造函数的prototype,如果还没有找到就会

Android 10.0 锁屏壁纸 LockscreenWallpaper(三)

学习笔记: 一、设置壁纸 通过系统设置进行锁屏壁纸和桌面壁纸的设置。 Setting 部分的代码: // DefaultWallpaperPersister.java private int setStreamToWallpaperManagerCompat(InputStream inputStream, boolean allowBackup, int whic

Android-推荐一个全局悬浮窗的框架(FloatWindow)

图片来源网络,入侵必删 在日常Android开发当中,我们可能要实现全局悬浮窗的需求。这里分享一个快速实现的框架,希望能帮小伙伴们提高开发效率。 FloatWindow 一个全局悬浮窗的框架,主要特性如下: 1.支持拖动,提供自动贴边等动画 2.内部自动进行权限申请操作 3.可自由指定要显示悬浮窗的界面 4.应用退到后台时,悬浮窗会自动隐藏 5.除小米外,4.4~7.0 无需权限申请

android hilt 坑位

之前和现在使用 之前 buildscript { ... dependencies { ... classpath 'com.google.dagger:hilt-android-gradle-plugin:2.28-alpha' } } ... apply plugin: 'kotlin-kapt' apply plugin: 'dagg

iOS三方静态库符号冲突的原因以及解决方案

动态库由于二级命名空间,不会符号冲突 静态库是.o文件的合集,最终生成macho需要链接 ,被主app项目符号合并 app里的符号会把静态库的符号链接到一起,合并成一张符号表,在链接静态库符号时候, other linker Flags 就是对链接静态库的配置 dead strip 不被main函数引用,的非导出符号会被干掉, oc默认都是导出符号,加个static就是本地符号了, 由于库要暴露一

Block源码解析

block源码 源码 如图所示一个正常block底层被编译成了 __main_block_impl_0结构体,该结构体里包括 _block_impl里面存储的是block的调用信息,__main_block_desc_0表示的是block内存描述。 剩下的属性即为block里引用到的属性 typedef void (^Block)(void); Block block; {

Android APK 编译打包流程

今天就和大家一起去探索下Android中编译打包的那些事儿。 整个构建流程大概分为两部分:编译(Compile),打包(Package) 编译 编译过程就是将 java文件 编译成 class文件,最后优化成 dex文件。 打包 打包流程就是将DEX文件和编译后的资源组合成单个APK,并且签名,生成最终的APK。 在这些工作中会有很多工具来辅助完成,比如AAPT,aidl,javac,ap

InputShare:轻松共享键鼠,实现安卓与电脑的无缝连接

InputShare:轻松共享键鼠,实现安卓与电脑的无缝连接项目介绍在数字化时代,高效操作多种设备的需求日益增长。InputShare 是一款能够实现安卓设备与电脑之间共享键鼠的开源项目,它通过有线或无线方式,让用户可以无缝地在电脑和安卓设备之间进行操作。InputShare 的诞生,为用户的多设备协作带来了极大的