开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第20天,点击查看活动详情
第八章 使用诊断报告 - 进阶资讯
进阶资讯
高级信息包括以下几类:
irisstat Snapshot #1
显示使用以下选项运行的 InterSystems 统计实用程序 (irisstat) 的输出:
irisstat -e2 -m-1 -n3 -j5 -g1 -m3 -L1 -u-1 -v1 -p-1 -c-1 -q1 -w2
irisstat Snapshot #2
显示一分钟后使用与第一个快照相同的选项运行的 irisstat 实用程序的输出。
如果 irisstat 输出文件太大,它们将被保存到一个单独的文件中,并且不会与报告一起发送。如果创建了单独的文件,则会在诊断报告的 irisstat 部分中发布类似于以下内容的消息:
File /iris/iristestsys/mgr/irisstat201103151102.html is too big to be appended to
the Log File. A copy has been left in the Directory.
虽然这些文件有 html 扩展名,但它们是纯文本,应该在文本编辑器而不是浏览器中查看。
Network Status
显示网络信息——以下实用程序的输出:
-
ipconfig /all (only Windows systems) -
netstat -an -
netstat -s
Dump License
显示本地许可证表条目和密钥信息($System.License.DumpLocalInUse() 和 $System.License.DumpKeys() 输出)。
Dump Files in Manager’s Directory
显示核心文件或 *.dmp 文件的列表(如果有)。
GloStat
显示全局统计信息(^GLOSTAT 输出——每十秒拍摄十张快照)。
优点
- 扁平化布局,无须嵌套,一个层级就可以绘制复杂布局。
- 高渲染性能。
- 集合了线性布局,相对布局,百分比布局的特点和大部分功能与一身。
- 支持在可视化环境下拖拽绘制约束布局。
引入依赖
implementation 'androidx.constraintlayout:constraintlayout:2.0.3'
相对定位
参考如下代码
A按钮属性
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
- 控制水平居中
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
- 控制垂直居中
B按钮属性
app:layout_constraintLeft_toRightOf="@id/btn_a"
- B的左侧约束到A的右侧上
C按钮属性
app:layout_constraintLeft_toLeftOf="@id/btn_a"
- C的左侧约束到A的左侧上
D按钮属性
app:layout_constraintRight_toLeftOf="@id/btn_a"
- D的右侧约束到A的左侧上
E按钮属性
app:layout_constraintRight_toRightOf="@id/btn_a""
- E的右侧约束到A的右侧上
- 所以 C 与 E 重合
F按钮属性
app:layout_constraintTop_toTopOf="@id/btn_a"
- F的上侧约束到A到上测
G按钮属性
app:layout_constraintTop_toBottomOf="@id/btn_a"
- G的上侧约束到A的底部
H按钮属性
app:layout_constraintBottom_toTopOf="@id/btn_a"
- H的下边约束到A上边
I按钮属性
app:layout_constraintBottom_toBottomOf="@id/btn_a"
- I的下边约束到A下边
- 所以 F 与 I 重合
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".constraint_layout.ConstraintLayoutActivity">
<Button
android:id="@+id/btn_a"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="A"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btn_b"
app:layout_constraintLeft_toRightOf="@id/btn_a"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="B" />
<Button
android:id="@+id/btn_c"
app:layout_constraintLeft_toLeftOf="@id/btn_a"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="C" />
<Button
android:id="@+id/btn_d"
app:layout_constraintRight_toLeftOf="@id/btn_a"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="D" />
<Button
android:id="@+id/btn_e"
app:layout_constraintRight_toLeftOf="@id/btn_a"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="E" />
<Button
android:id="@+id/btn_f"
app:layout_constraintTop_toTopOf="@id/btn_a"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="F" />
<Button
android:id="@+id/btn_g"
app:layout_constraintTop_toBottomOf="@id/btn_a"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="G" />
<Button
android:id="@+id/btn_h"
app:layout_constraintTop_toBottomOf="@id/btn_a"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="H" />
<Button
android:id="@+id/btn_i"
app:layout_constraintBottom_toTopOf="@id/btn_a"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="I" />
<Button
android:id="@+id/btn_k"
app:layout_constraintBottom_toBottomOf="@id/btn_a"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="K" />
</androidx.constraintlayout.widget.ConstraintLayout>