- 博客(20)
- 问答 (6)
- 收藏
- 关注
原创 Mac上使用脚本+adb导出MAT可用的hprof文件
在下Mac平台。最近开发中发现AndroidStudio的profile工具越来越不好用,项目内存占用稍微大一点,一开profile就会导致应用crash。所以打算开历史倒车用MAT来看内存快照。但是每次要输一堆的adb shell指令感觉很烦,所以写了个脚本这里共享出来:#! /bin/bashPACKAGE=包名#获取app的pidPID=$(adb shell pidof $PACKAGE)#定义各种路径dd=`date +"%Y%m%d%H%M%S"`hprofName="$dd.
2021-11-12 19:38:24 1858
原创 AndroidStudio 4.2 Gradle面板中Tasks消失
Settings - Experimental - 取消勾选 “Do not build Gradle task list during Gradle sync” - 然后重新sync一次。这项新功能的加入似乎是因为显示task list会略微拖慢build速度,所以加入了一个默认关闭的功能开关。https://issuetracker.google.com/issues/185420705...
2021-05-06 11:38:34 3604 2
原创 AndroidStudio gradle插件开发 Class ‘xxx‘ already exists 问题解决
以module形式,用groovy开发gradle插件时,会发现自己写的插件总是报 Class ‘xxx’ already exists的红色警告,虽然并不影响插件的使用和调试,但是就很烦:这个红色警告产生的原因,应该是因为在module编译后,会在相应build/classes/groovy目录下生成对应groovy类的java类,而IDE似乎无法处理生成目录。在stackoverflow上,有针对intellij类似问题的解决方法,就是将相应目录标记为exclude。但我发现在androidstu
2021-04-29 11:38:31 1214
原创 Unity UIElements.Label中文字符换行空指针
使用UI Elements: "com.unity.ui": "1.0.0-preview.12", "com.unity.ui.builder": "1.0.0-preview.9"为UIElements.Label设置较长的中文字符串时,并将其设置为自动换行时,发现始终会报空指针。大概是下面这种报错:NullReferenceException: Object reference not set to an instance of an objectUnityEngine.TextCore.
2020-11-28 11:44:32 478
原创 android studio 4.0 Live Layout Inspector切换为老版本Layout Inspector
LiveLayoutInspector的功能很好很强大,但最近发现在一些配置低的测试机上使用此功能卡顿会非常严重。因此研究了下怎么调回旧版LayoutInsepector。在File->Setting->Experimental中去掉勾选“Enable Live Layout Inspector”即可。此时Tools菜单中的该功能名称变更为“Legacy Layout Inspector”,这就是旧版的该工具了。...
2020-08-26 09:59:09 3153 1
原创 android高德SDK,Marker的zIndex导致的遮罩层问题解决
一、问题描述最近项目接到了一个遮罩层需求,效果图如下凭感觉会觉得不难,遮罩层+遮罩层之上的元素,通过高德自己的api进行图层排序就可以。假如用Polygon来绘制遮罩层,那么测试代码如下: val bottomMarkerPosition = LatLng(29.0, 114.0) val topMarkerPosition = LatLng(29.05, 114.05) val maskLayerPath = listOf( La
2020-06-24 15:50:10 3300 1
原创 android 高德聚合实现
最近的项目需求中需要做聚合功能,研究了一下官方demo,法线官方Demo有以下两个用起来不太方便的点:1.需要修改ClusterOverlay才能实现自己的Marker绘制逻辑。(仅聚合簇的绘制开放了接口)。2.不能批量的动态添加和移除数据,如果要做这个功能的话,还是要修改官方的ClusterOverlay实现。为了解决这两个问题,自己实现了一个聚合工具类。主要逻辑和官方demo的逻辑差不多。大概的聚合逻辑如下:定义聚合簇的结构,它由锚点和吸附于它的一系列点组成,锚点本身也对应着一个有具体数据的
2020-06-18 16:40:41 966 1
原创 业务数据输出为3DTiles模型
最近的公司项目要求实现一个将业务数据转3DTiles模型文件的功能。这里记录一下实现要点。由于业务数据本身可能是多种多样的,虽然我接的需求是对应的带有具体业务数据的GIS数据。但总之这里就认为业务数据本身是可以直接转换成顶点,索引等图形数据。另外这项业务需求中输出的可渲染内容格式为B3DM,所以主要以此出发来考虑实现。总的来说,该过程的主要要点如下:1、3DTiles文件的生成。2、B3...
2020-01-21 17:29:40 1025
原创 两凸多边形相交区域和相交区域面积的计算
最近的GIS开发中有这个需求,大学没教过多少计算几何的东西,所以相关知识基本上是一片空白。为了解决这个需求还是花了点时间,所以这里大概记录下思路。具体的代码就不贴了。任意两个凸多边形A,B的相交区域面积计算,这里采用如下两步进行计算:一、 计算相交区域对应的多边形,记为intersect大体分为下面几个步骤:1.记录A位于B中的所有顶点2.记录B位于A中的所有顶点3.记录A与B每一条边...
2020-01-02 12:03:01 4708 3
原创 Cesium,ClippingPlanes,任意剪裁面对3DTiles剪裁
一、简介相关官方文档地址:ClippingPlaneCollection、Cesium3DTileset官方Demo地址:3D Tiles Clipping Planes官方介绍:Cesium Feature Highlight: Clipping Planes对于3DTiles和gltf,均可以通过ClippingPlaneCollection来实现显示时的模型剪裁显示,即仅显示模型的一...
2019-12-13 16:35:18 9068 15
原创 Java Study--Interger.toString(int i)(10进制数版本)
源码 public static String toString(int i) { if (i == Integer.MIN_VALUE) return "-2147483648"; // BEGIN Android-changed: Cache the String for small values. // int si...
2019-09-26 17:15:54 216
原创 Java Study--Interger.parseInt(String s, int radix)
Interget.parseInt(String s, int radix)实现原理。源码: public static int parseInt(String s, int radix) throws NumberFormatException { ... // 参数合法性检查,省略 int result = 0; ...
2019-09-26 15:33:42 414
原创 Android Studio tips--column selection mode
Android Studio tips--column selection mode在AndroidStudio的任意包含文本编辑功能的页面(例如,打开xml,.java,.kt,.gradle)右键菜单中,都能找到column selection mode这个选项。该选项的功能既是列选择,如下图。该选项不开启时,实际上可以通过鼠标中键来实现同样的效果。如果通过右键菜单,或快捷键开启后则...
2019-09-11 13:51:24 611
原创 Android新手上路-AndroidStudio3.0升级后不能自动生成aar
AndroidStudio升级到3.0后发现一个坑,在make module的时候不能自动生成aar. 在网上查询了很久后发现没有相应的解答,或者有但是不太实用(比如gradle文件中添加task什么的)。最后突然想起来执行assemble命令可以生成debug和release的apk包,于是发现,通过右侧的gradle task列表,对想生成的module执行build下的assembleDeb
2017-11-20 17:02:28 1536
原创 Android新手上路-Apt技术的相关笔记
因为只是为了粗略了解这项技术,所以这里省略大部分知识点,只记录关键信息。 参考这篇文章,相关步骤介绍的非常详细 总结下大概步骤和要点: 1.设计相关api,注解; 2.注解处理器的核心逻辑; 在依赖上,需要apt和com.google.auto.service。 编码阶段重点关注两个类:javax.annotation.processing.AbstractProcessorjavax
2017-05-31 20:28:55 281
原创 Android新手上路-记录一个辅助服务相关无法开启的暂时原因不明的坑
最近在写一些小玩意的时候用到了辅助服务,发现一个暂时原因不明的坑。可能和没读官方文档有关。编写AccessibilityService的时候发现,如果不将辅助服务对应的类放在AndroidManifest.xml中的package对应应用包名下而是包名.xx的情况下则辅助服务不能正常开启。更改包名前,在手机无障碍设置界面,服务可以开启,但不会回调AccessibilityService对应的四个方法
2017-04-19 23:46:11 1084 5
原创 Android新手上路-PageTransformer
如有错误,还请指证 最近项目中对ViewPager的换页效果有特殊的动画效果,如下: 因此在网上找资料发现了PageTransformer这个接口以及ViewPager的相关方法。总的来说还是非常简单。 从动画效果来看,特征有以下两点:屏幕上同时存在三页换页效果可以拆分成绕Y轴旋转,以及透明度的变化关于屏幕同时存在三页,通过调用ViewPager的相关方法可以实现,关于换页效果则通过
2017-03-04 16:58:49 657
原创 Android新手上路——自定义SurfaceView,重力感应小球
Android新手上路——自定义SurfaceView,重力感应小球如有错误,还请指正 - SurfaceView的使用 - 加速度传感器的使用
2016-06-29 22:48:47 1702
空空如也
AndroidStudio更新3.0后logcat不能点击跳转
2017-10-30
CoordinatorLayout+RecyclerView,最后一项显示不全
2017-07-29
Android 怎么在release包中移除debug代码
2017-04-07
Android 自定义ViewGroup addView,视图不刷新
2017-01-16
Android求问,在使用Xfermode的情况下将View保存为Bitmap
2016-07-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人