当前位置: 编程技术>移动开发
本页文章导读:
▪查寻日志 查找日志
SBS中的日志是打成很多很小的压缩包,用通常的方式很难去查看。先从webpage的找出这些包的link 放到 url.txt中 用wget取得压缩包wget --no-check-certificate -c --base=https://security-itg-sbs.corp..........
▪ 施用硬件加速的注意事项 使用硬件加速的注意事项
为提高app的整体性能,在manifest文件中配置的时候,有可能会启动硬件加速,如下
android:hardwareAccelerated="true"
配置后,发现设备在4.0.4与4.0.3这样的版本上使用图片.........
▪ @property(nonatomic,getter=isOn) BOOL on @property(nonatomic,getter=isOn) BOOL on;
如果这个property是 BOOL on,
那么Objc默认创建的 setter 为: - (void)on:(BOOL)setOn { }
getter 为: - (BOOL)on { return on; }
但是你可以手动更改 setter 和 getter 方法,
就像.........
[1]查寻日志
来源: 互联网 发布时间: 2014-02-18
查找日志
SBS中的日志是打成很多很小的压缩包,用通常的方式很难去查看。
先从webpage的找出这些包的link 放到 url.txt中
用wget取得压缩包
wget --no-check-certificate -c --base=https://security-itg-sbs.corp.hp.com/logs-security/security/ -i url.txt
用zgrep查找包中的关键字 并排序。
zgrep -i "retrieveActorCoreProfileListByActorList" *.gz | tee result.txt
zgrep "@" *| awk '{print $NF}' | sort | uniq | grep -v "spring" | grep "@" | grep -v "actorId" | tee ../email.txt
SBS中的日志是打成很多很小的压缩包,用通常的方式很难去查看。
先从webpage的找出这些包的link 放到 url.txt中
用wget取得压缩包
wget --no-check-certificate -c --base=https://security-itg-sbs.corp.hp.com/logs-security/security/ -i url.txt
用zgrep查找包中的关键字 并排序。
zgrep -i "retrieveActorCoreProfileListByActorList" *.gz | tee result.txt
zgrep "@" *| awk '{print $NF}' | sort | uniq | grep -v "spring" | grep "@" | grep -v "actorId" | tee ../email.txt
[2] 施用硬件加速的注意事项
来源: 互联网 发布时间: 2014-02-18
使用硬件加速的注意事项
为提高app的整体性能,在manifest文件中配置的时候,有可能会启动硬件加速,如下
android:hardwareAccelerated="true"
配置后,发现设备在4.0.4与4.0.3这样的版本上使用图片剪裁功能的时候会crash,捕获到的异常信息如下
java.lang.UnsupportedOperationException at android.view.GLES20Canvas.clipPath(GLES20Canvas.java:429)
查询代码发现,在图片剪裁的时候有使用到Canvas.clipPath(path, Region.Op.DIFFERENCE);这个函数
作为Canvas的一个实现类GLES20Canvas,在使用硬件加速的时候会被使用到。
查询GLES20Canvas的源代码,发现在4.0.4与4.0.3这两个版本中,clipPath的实现均为如下代码
public boolean clipPath(Path path, Region.Op op) { throw new UnsupportedOperationException(); }
直到4.1.1这个版本,sdk中的才进行了具体的实现
@Override public boolean clipPath(Path path, Region.Op op) { // TODO: Implement path.computeBounds(mPathBounds, true); return nClipRect(mRenderer, mPathBounds.left, mPathBounds.top, mPathBounds.right, mPathBounds.bottom, op.nativeInt); }
也就是说,在使用Canvas.clipPath的时候必须要特别注意如果app要使用硬件加速,应该把涉及clipPath的Activity排除在外,配置方法是:
在manifest中activity的配置处配置android:hardwareAccelerated ="false"
[3] @property(nonatomic,getter=isOn) BOOL on
来源: 互联网 发布时间: 2014-02-18
@property(nonatomic,getter=isOn) BOOL on;
如果这个property是 BOOL on,
那么Objc默认创建的 setter 为: - (void)on:(BOOL)setOn { }
getter 为: - (BOOL)on { return on; }
但是你可以手动更改 setter 和 getter 方法,
就像上面的: getter = xxxOn 的话,
getter 就变为: - (BOOL)xxxOn { return on; }
最新技术文章: