小编Jes*_*son的帖子

如何在Android画布上对剪辑边界进行抗锯齿处理?

我正在使用Android的android.graphics.Canvas来绘制一个环.我的onDraw方法剪切画布为内圈创建一个洞,然后在洞上绘制整个外圈:

    clip = new Path();
    clip.addRect(outerCircle, Path.Direction.CW);
    clip.addOval(innerCircle, Path.Direction.CCW);

    canvas.save();
    canvas.clipPath(clip);
    canvas.drawOval(outerCircle, lightGrey);
    canvas.restore();
Run Code Online (Sandbox Code Playgroud)

结果是一个带有漂亮,抗锯齿外边缘和锯齿状,丑陋内边缘的戒指:

别名

我能做些什么来消除内缘?

我不想通过在中间画一个灰色圆圈来欺骗,因为对话框略微透明.(这种透明度在其他背景上并不那么微妙.)

android android-widget

30
推荐指数
2
解决办法
1万
查看次数

应用程序卸载时退出一个线程

我维护一个库,启动一个守护程序线程在后台工作.在常规Java和Android应用程序中,此线程启动一次并在该进程的生命周期内运行.它永远不会退出,这没关系.

当我的库包含在支持应用程序卸载的应用程序容器(例如Tomcat)中时,应用程序永远不会卸载.我正在运行的线程拥有对其自己的类的强引用,并阻止整个应用程序被卸载.我的库的用户不能热插拔他们的应用程序而不会每次泄漏内存.

当应用程序容器希望卸载我的库时,获取信号的最佳方法是什么?

这是一个小型库,不依赖于应用程序容器API.它不知道它正在运行哪个应用程序容器而且它不想要!

这个库启动一个线程的事实是一个实现细节.库的最终用户不应该知道线程正在启​​动,并且关闭它不是他们的责任.

java

22
推荐指数
2
解决办法
1154
查看次数

How to interpret multipart that’s missing a CRLF?

Here’s a RFC 2046 multipart octet stream that uses a boundary of "boundary".

--boundary
Content-Type: text/plain; charset="US-ASCII"

abc

--boundary

a
--boundary


--boundary

--boundary
--boundary--
Run Code Online (Sandbox Code Playgroud)

Part 1 is abc\r\n with a trailing CRLF and one header describing its content-type.

第 2 部分a没有标题,也没有尾随换行符。

第 3 部分是空的。

什么是第 4 部分?有第五部吗?

multipartform-data

7
推荐指数
1
解决办法
139
查看次数

Filer的原始元素是否有用?

我正在研究一个使用Java注释处理API生成代码的Java程序(Dagger).当我们的程序遇到注释时Foo.java,它会生成Foo$$InjectAdapter.java.我们使用FilerAPI来附加Element触发生成代码的原始内容.

Filer文档说这是为了帮助增量构建:

"此信息可用于增量环境,以确定是否需要重新运行处理器或删除生成的文件.非增量环境可能会忽略原始元素信息."

有谁知道使用此信息的增量环境?javacEclipse编译器是否使用此信息?

java annotations javac intellij-idea maven

4
推荐指数
1
解决办法
406
查看次数

在 Kotlin 中抑制 DeprecationLevel.ERROR

我在我的 API 中使用DeprecationLevel.ERROR

@Deprecated(
    message = "moved to def()",
    replaceWith = ReplaceWith(expression = "def()"),
    level = DeprecationLevel.ERROR)
fun abc() = def()
Run Code Online (Sandbox Code Playgroud)

我想要一个测试来确保调用者看到这个替换。例如,如果我不小心删除了该abc()方法,我的测试应该无法编译。

但我找不到编译这个的方法:

@Test
@Suppress("something")
fun deprecatedAbc() {
  abc()
}
Run Code Online (Sandbox Code Playgroud)

例如,@Suppress("DEPRECATION")不起作用。有什么可以做的吗?

kotlin

1
推荐指数
1
解决办法
437
查看次数