起个昵称那么难
码龄10年
关注
提问 私信
  • 博客:174,817
    社区:1
    174,818
    总访问量
  • 31
    原创
  • 436,274
    排名
  • 136
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2014-06-07
博客简介:

BlueYangDroid的专栏

博客描述:
我在深夜里旅行,谁被我遗忘
查看详细资料
个人成就
  • 获得86次点赞
  • 内容获得25次评论
  • 获得562次收藏
创作历程
  • 3篇
    2022年
  • 29篇
    2018年
成就勋章
TA的专栏
  • XR
    3篇
  • Android wiki
    9篇
  • snapshot
  • java wiki
    2篇
  • Android util
    6篇
  • Android Performance
    12篇
  • Appium
    1篇
  • JavaScript
    1篇
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

186人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

VR开发基础(三)unity XR最简开发环境搭建-整合Interaction toolkit、openXR plugin、PICO与OCULUS

unity的openXR插件开发支持进展不同,当前从验证效果来看:Oculus quest2已基本适配对接OpenXR plugin编译,而PICO则未支持,从官方roadmap和论坛答复看需要2020年8月份后,但与官方plugin直接对接似乎要延迟(即使应用开发中没有直接使用私有接口,但基于厂商SDK编译出的apk也并未完全兼容,底层不同的XR loader、运行时带来的典型的问题包括:VRorigin绑定错乱、追踪失效、运行崩溃等;用于创建 VR 和 AR 体验的、基于组件的交互系统。
原创
发布博客 2022.10.15 ·
4737 阅读 ·
3 点赞 ·
1 评论 ·
20 收藏

VR开发基础(二)一文详解Oculus环境helloxr的openxr核心接口流程

Oculus使用的是开源的hello_xr示例,但要使用自家的loader;在hello_xr上篇侧重分析了入口和图形的基本流程,此篇将侧重分析XR相关的流程
原创
发布博客 2022.10.11 ·
3424 阅读 ·
4 点赞 ·
0 评论 ·
9 收藏

VR开发基础(一)一文理清unity xr plugin架构与openxr标准

unity的XR架构通过接入各家plugin实现XR具体模块和特性,特别的包括openxr plugin,openxr的特别之处在于:标准由khronos维护但自身并非直接的实现厂商,并且自身也是一个抽象架构,在标准接口之下又需要具体厂商的实现。unity为支持openxr开发了openxr plugin,作为XR架构的一个插件,可以理解为unity为khronos家实现的,只不过openxr本身又需要更下一层的设备运行时实现。
原创
发布博客 2022.10.11 ·
2412 阅读 ·
2 点赞 ·
0 评论 ·
10 收藏

AndroidUtil - 极简内存泄漏监控 - 结合弱引用和组件生命周期

import android.app.Activity;import android.app.Application;import android.app.Application.ActivityLifecycleCallbacks;import android.content.Context;import android.os.Bundle;import android.os.Han...
原创
发布博客 2018.09.08 ·
277 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

AndroidUtil - 极简EventBus - 结合map,handler和线程池

import android.os.Bundle;import android.os.Handler;import android.os.Looper;import java.util.ArrayList;import java.util.HashMap;import java.util.concurrent.ExecutorService;import java.util.conc...
原创
发布博客 2018.09.08 ·
330 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Android性能调试方法工具集合 - 持续更新

第一篇_布局优化一,影响面布局的设计和编码影响是多方面的,包括界面启动,交互相应,内存,GC二,思路和要求整体布局思路:要求layout呈现扁平化,宽而浅的效果。基本要求:1.        界面layout框架绘制控制在1次以下2.        大容器ViewGroup控制在3次绘制3.        View控制4x次的绘制4.        一般主页等重度页4x绘制控制在整个layout的...
原创
发布博客 2018.05.14 ·
6389 阅读 ·
2 点赞 ·
0 评论 ·
15 收藏

Top10 移动端安全问题

Top 10 Mobile Risks from 【Hacking Android】The following diagram shows the OWASP Top 10 Mobile Risks, which is a listof top 10 mobile app vulnerabilities.The following are the top 10 vulnerabilities an...
原创
发布博客 2018.05.06 ·
1696 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Android高性能编码 - 第八篇 移动端安全规范

第八篇安全Android内建的安全机制可以显著地减少了应用程序的安全问题。通过在默认的系统设置和文件权限设置的环境下建立应用,可避免为一系列的安全问题寻找解决方案。一些帮助建立应用的核心安全的特性如下:l  Android应用程序沙盒,将应用数据和代码的执行与其他程序隔离。l  具有鲁棒性的常见安全功能的应用框架,例如加密,权限控制,安全IPCl  使用改进的虚拟机等技术,减少了常见内存管理错误。...
原创
发布博客 2018.05.06 ·
1426 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Android高性能编码 - 第七篇 Efficient Java与Android Lint

7.1 Efficient Java中的性能要点Effective Java是一本被广泛认可的著作,它指明了在写Java代码时兼顾可维护性与效率的方式。Android也是使用Java来开发的,书中的部分建议可能不适用,因为并非所有Java特性都有针对Android优化(比如说枚举,序列化等等),或者是因为移动设备的局限(例如Dalvik/ART)。不管怎样,书中的大部分规范是稍微修改下甚至不修改就...
原创
发布博客 2018.05.06 ·
240 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Android高性能编码 - 第六篇 异步任务与多线程

第六篇异步任务与多线程6.1 ANR与异步任务ANR是Android系统对程序无响应的异常响应,从Android系统的角度来看,发生ANR的原因主要有三个方面:1.        Activity/Fragment在5秒内没有响应输入的事件(例如,按键按下,屏幕触摸);2.        BroadcastReceiver在10秒内没有执行完毕;3.        Service的生命周期方法中有...
原创
发布博客 2018.04.19 ·
993 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Android高性能编码 - 第五篇 网络请求和数据解析

尽管现在项目中已经普遍采用okhttp等框架进行网络请求,但出于开发的高性能要求,我们仍有必要对一些网络请求的性能要点进行讨论,以便对网络请求中的整体编码和第三方框架的配置使用有更深入的认识。5.1 网络请求编码的基本要素当我们开始讨论网络请求时,从客户端的角度来说,主要涉及三个方面:客户端、请求、响应。从开发编码的角度来说,我们主要会关注请求和响应的几个具体要素,如下图所示。为了处理这些请求和响...
原创
发布博客 2018.04.13 ·
856 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Android高性能编码 - 第四篇 layout加载UI优化

本篇对Android应用的UI渲染加载性能相关项进行阐述,这里的layout既包括使用xml文件定义的layout资源,也包括java代码动态创建的UI资源以及自定义组合资源,其中图片相关的部分已在第三篇进行集中阐述,这里不再细表,而是从一般意义上的UI界面加载层面进行探讨。4.1 Activity基类布局和子类布局的协调根据编码实践,我们通常会为Activity抽取基类,同时在基类中抽取父布局,...
原创
发布博客 2018.04.12 ·
606 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Android高性能编码 - 第三篇 优化图片加载

图片加载是每个应用的基本功能,而图片对App整体性能的影响是不言而喻的,尤其是在程序加载大量图片和高分辨率图片时,最容易产生OOM异常,因此图片相关的编码都需要从性能的角度仔细考量。3.1 自定义图片加载的性能要点尽管我们普遍在应用中引入了第三方的图片加载库,但很多时候还会手动对局部的图片任务进行处理,包括临时加载避开第三方库的默认缓存、所选的第三方库不便于加载本地图片等,在此需要注意以下几个要点...
原创
发布博客 2018.03.31 ·
328 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Android高性能编码 - 第二篇 数据库操作

第二篇数据库操作Android默认使用了SQLite数据库,在应用程序开发中,我们使用最多的无外乎增删改查。纵使操作简单,也有可能出现查找数据缓慢,插入数据耗时等情况。本篇内容将介绍一些提高的数据库性能的规范实践,帮助大家更高效地使用数据库。2.1 避免频繁的开关DB我们一般会在每次增删改查中开关数据库,对于可能频繁使用DB对象的情况,为了提高性能,在保证DB对象单例的情况下,可以对DB的开关进行...
原创
发布博客 2018.03.26 ·
415 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

自动化测试 - Appium + Python史上最全最简环境搭建步骤

一,为什么是Appium借一张图:1.1 Appium优点l  开源l  跨架构:NativeApp、Hybird App、Web Appl  跨设备:Android、iOS、Firefox OSl  不依赖源码l  使用任何WebDriver 兼容的语言来编写测试用例。比如 Java, Objective-C, JavaScript with Node.js, PHP, Python, Ruby...
原创
发布博客 2018.03.16 ·
139246 阅读 ·
73 点赞 ·
20 评论 ·
687 收藏

AndroidWiki - App启动流程和性能优化精要

一、主页数据业务流程重构图一:通行的缓存+刷新数据业务示例1.1 调整线程机制这个修改点需要排查和解决包含但不是限于以下五个问题:1,各线程业务由于历史原因,在单独子模块执行,没有做统一的通知/回调机制,获取执行结果采用土笨的全局标志和轮询的方式,极不合理。此处为紧密流程,应该采用接口回调。2,全局标志位的作用域太大,不安全。在多人开发和维护的项目中,隐患非常大。3,不同线程对同一标志位的操作没有...
原创
发布博客 2018.03.15 ·
323 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

AndroidUtil - 基于Android网络连接状态全面深度检查

一个通用的完整网络连接状态检查工具netState,ping dns,http异步执行使用低级api,保持独立通用public class NetworkChecker { private static final String TAG = "NetWorkChecker"; private static final String DNS_GOOGLE = "8.8.8.8";...
原创
发布博客 2018.03.12 ·
325 阅读 ·
0 点赞 ·
2 评论 ·
0 收藏

Android业务层代码结构扩展 - from MVP to MVPplus

一,背景Android工程编码,直接沿用了MVC的编码结构,但是由于Activity等组件对View和Mode的高耦合,在编码过程中,经常破坏MVC的风格,使得代码结构和业务模块日益混杂,维护和复用成本越来越高。二,解决思路为什么MVP成为主流业界提出了MVP,MVVM等,结合项目实践,如果项目已经开发成熟,不再适合导入MVVM,且风格变化稍大,对项目重构风险较高;而MVP与MVC较为接近,学习成...
原创
发布博客 2018.03.10 ·
912 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Android高性能编码 - 第一篇 内存与对象(二)内存高效利用

1.2 面向对象与内存的高性能编码每当我们在代码中创建一个新对象的时候,系统就会尝试分配一个空间将它保存到内存中,但每个应用可以分配的内存空间是有限的。上一节我们已经阐述了如何避免内存泄露,本节我们主要阐述如何在编码中控制内存的占用,提升效率并减少垃圾回收。1.2.1 Data types数据类型1.2.1.1 Autoboxing自动装箱特性,使得基本数据类型自动转为对应的包装类型。比如Inte...
原创
发布博客 2018.03.10 ·
273 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JavaWiki - 可重入读写锁:高性能读写并发实例

Java高性能读写并发实例1 技术与应用背景1.1 Java并发技术多线程读取并修改一个资源时,我们过去通常使用synchronized同步锁,这个是有性能损失的,很多情况下,资源对象总是被大量并发读取,偶尔有一个线程进行修改,也就是说:以读为主,修改不是很频繁。在JDK5.0版本以后,增加了Lock家族用于增强和扩展锁的机制,ReEntranceLock基本上可以替代原有的synchronize...
原创
发布博客 2018.03.07 ·
959 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多